00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ 00002 /* libwpd 00003 * Copyright (C) 2002-2005 William Lachance (wrlach@gmail.com) 00004 * Copyright (C) 2002 Marc Maurer (uwog@uwog.net) 00005 * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) 00006 * 00007 * This library is free software; you can redistribute it and/or 00008 * modify it under the terms of the GNU Library General Public 00009 * License as published by the Free Software Foundation; either 00010 * version 2 of the License, or (at your option) any later version. 00011 * 00012 * This library is distributed in the hope that it will be useful, 00013 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00014 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 00015 * Library General Public License for more details. 00016 * 00017 * You should have received a copy of the GNU Library General Public 00018 * License along with this library; if not, write to the Free Software 00019 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA 00020 * 00021 * For further information visit http://libwpd.sourceforge.net 00022 */ 00023 00024 /* "This product is not manufactured, approved, or supported by 00025 * Corel Corporation or Corel Corporation Limited." 00026 */ 00027 00028 #ifndef WPXDOCUMENTINTERFACEIMPL_H 00029 #define WPXDOCUMENTINTERFACEIMPL_H 00030 #include "WPXPropertyList.h" 00031 #include "WPXPropertyListVector.h" 00032 #include "WPXBinaryData.h" 00033 00040 class WPXInputStream; 00041 00042 class WPXDocumentInterface 00043 { 00044 public: 00045 virtual ~WPXDocumentInterface() {} 00046 00102 virtual void setDocumentMetaData(const WPXPropertyList &propList) = 0; 00103 00107 virtual void startDocument() = 0; 00111 virtual void endDocument() = 0; 00112 00113 virtual void definePageStyle(const WPXPropertyList &propList) = 0; 00114 00129 virtual void openPageSpan(const WPXPropertyList &propList) = 0; 00133 virtual void closePageSpan() = 0; 00134 00140 virtual void openHeader(const WPXPropertyList &propList) = 0; 00144 virtual void closeHeader() = 0; 00145 00151 virtual void openFooter(const WPXPropertyList &propList) = 0; 00155 virtual void closeFooter() = 0; 00156 00157 virtual void defineParagraphStyle(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) = 0; 00158 00176 virtual void openParagraph(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) = 0; 00180 virtual void closeParagraph() = 0; 00181 00182 virtual void defineCharacterStyle(const WPXPropertyList &propList) = 0; 00183 00200 virtual void openSpan(const WPXPropertyList &propList) = 0; 00204 virtual void closeSpan() = 0; 00205 00206 virtual void defineSectionStyle(const WPXPropertyList &propList, const WPXPropertyListVector &columns) = 0; 00207 00220 virtual void openSection(const WPXPropertyList &propList, const WPXPropertyListVector &columns) = 0; 00224 virtual void closeSection() = 0; 00225 00229 virtual void insertTab() = 0; 00233 virtual void insertSpace() = 0; 00238 virtual void insertText(const WPXString &text) = 0; 00242 virtual void insertLineBreak() = 0; 00243 00251 virtual void insertField(const WPXString &type, const WPXPropertyList &propList) = 0; 00252 00265 virtual void defineOrderedListLevel(const WPXPropertyList &propList) = 0; 00275 virtual void defineUnorderedListLevel(const WPXPropertyList &propList) = 0; 00281 virtual void openOrderedListLevel(const WPXPropertyList &propList) = 0; 00287 virtual void openUnorderedListLevel(const WPXPropertyList &propList) = 0; 00291 virtual void closeOrderedListLevel() = 0; 00295 virtual void closeUnorderedListLevel() = 0; 00313 virtual void openListElement(const WPXPropertyList &propList, const WPXPropertyListVector &tabStops) = 0; 00317 virtual void closeListElement() = 0; 00318 00324 virtual void openFootnote(const WPXPropertyList &propList) = 0; 00328 virtual void closeFootnote() = 0; 00329 00335 virtual void openEndnote(const WPXPropertyList &propList) = 0; 00339 virtual void closeEndnote() = 0; 00340 00345 virtual void openComment(const WPXPropertyList &propList) = 0; 00349 virtual void closeComment() = 0; 00350 00355 virtual void openTextBox(const WPXPropertyList &propList) = 0; 00359 virtual void closeTextBox() = 0; 00360 00372 virtual void openTable(const WPXPropertyList &propList, const WPXPropertyListVector &columns) = 0; 00380 virtual void openTableRow(const WPXPropertyList &propList) = 0; 00384 virtual void closeTableRow() = 0; 00399 virtual void openTableCell(const WPXPropertyList &propList) = 0; 00403 virtual void closeTableCell() = 0; 00410 virtual void insertCoveredTableCell(const WPXPropertyList &propList) = 0; 00414 virtual void closeTable() = 0; 00430 virtual void openFrame(const WPXPropertyList &propList) = 0; 00434 virtual void closeFrame() = 0; 00441 virtual void insertBinaryObject(const WPXPropertyList &propList, const WPXBinaryData &data) = 0; 00448 virtual void insertEquation(const WPXPropertyList &propList, const WPXString &data) = 0; 00449 }; 00450 00451 #endif /* WPXDOCUMENTINTERFACEIMPL_H */ 00452 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */