00001 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ 00002 /* librevenge 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) 2002-2005 William Lachance (wrlach@gmail.com) 00011 * Copyright (C) 2002 Marc Maurer (uwog@uwog.net) 00012 * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch) 00013 * 00014 * For minor contributions see the git repository. 00015 * 00016 * Alternatively, the contents of this file may be used under the terms 00017 * of the GNU Lesser General Public License Version 2.1 or later 00018 * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are 00019 * applicable instead of those above. 00020 */ 00021 00022 #ifndef RVNGSPREADSHEETINTERFACE_H 00023 #define RVNGSPREADSHEETINTERFACE_H 00024 00025 #include "RVNGString.h" 00026 #include "RVNGPropertyList.h" 00027 #include "RVNGPropertyListVector.h" 00028 00029 namespace librevenge 00030 { 00031 00049 class RVNGSpreadsheetInterface 00050 { 00051 public: 00052 00053 00055 virtual ~RVNGSpreadsheetInterface() {} 00056 00112 virtual void setDocumentMetaData(const RVNGPropertyList &propList) = 0; 00113 00117 virtual void startDocument(const RVNGPropertyList &propList) = 0; 00121 virtual void endDocument() = 0; 00122 00123 virtual void definePageStyle(const RVNGPropertyList &propList) = 0; 00124 00135 virtual void defineEmbeddedFont(const RVNGPropertyList &propList) = 0; 00136 00151 virtual void openPageSpan(const RVNGPropertyList &propList) = 0; 00155 virtual void closePageSpan() = 0; 00156 00162 virtual void openHeader(const RVNGPropertyList &propList) = 0; 00166 virtual void closeHeader() = 0; 00167 00173 virtual void openFooter(const RVNGPropertyList &propList) = 0; 00177 virtual void closeFooter() = 0; 00178 00179 00190 virtual void defineSheetNumberingStyle(const RVNGPropertyList &propList) = 0; 00198 virtual void openSheet(const RVNGPropertyList &propList) = 0; 00202 virtual void closeSheet() = 0; 00210 virtual void openSheetRow(const RVNGPropertyList &propList) = 0; 00214 virtual void closeSheetRow() = 0; 00228 virtual void openSheetCell(const RVNGPropertyList &propList) = 0; 00232 virtual void closeSheetCell() = 0; 00233 00234 virtual void defineChartStyle(const RVNGPropertyList &propList) = 0; 00235 00241 virtual void openChart(const RVNGPropertyList &propList) = 0; 00245 virtual void closeChart() = 0; 00246 00250 virtual void openChartTextObject(const RVNGPropertyList &propList) = 0; 00254 virtual void closeChartTextObject() = 0; 00255 00259 virtual void openChartPlotArea(const RVNGPropertyList &propList) = 0; 00263 virtual void closeChartPlotArea() = 0; 00267 virtual void insertChartAxis(const RVNGPropertyList &axis) = 0; 00271 virtual void openChartSerie(const librevenge::RVNGPropertyList &series) = 0; 00275 virtual void closeChartSerie() = 0; 00276 00277 virtual void defineParagraphStyle(const RVNGPropertyList &propList) = 0; 00278 00289 virtual void openParagraph(const RVNGPropertyList &propList) = 0; 00293 virtual void closeParagraph() = 0; 00294 00295 virtual void defineCharacterStyle(const RVNGPropertyList &propList) = 0; 00296 00303 virtual void openSpan(const RVNGPropertyList &propList) = 0; 00307 virtual void closeSpan() = 0; 00314 virtual void openLink(const RVNGPropertyList &propList) = 0; 00318 virtual void closeLink() = 0; 00319 00320 virtual void defineSectionStyle(const RVNGPropertyList &propList) = 0; 00321 00334 virtual void openSection(const RVNGPropertyList &propList) = 0; 00338 virtual void closeSection() = 0; 00339 00343 virtual void insertTab() = 0; 00347 virtual void insertSpace() = 0; 00352 virtual void insertText(const RVNGString &text) = 0; 00356 virtual void insertLineBreak() = 0; 00357 00365 virtual void insertField(const RVNGPropertyList &propList) = 0; 00366 00379 virtual void openOrderedListLevel(const RVNGPropertyList &propList) = 0; 00389 virtual void openUnorderedListLevel(const RVNGPropertyList &propList) = 0; 00393 virtual void closeOrderedListLevel() = 0; 00397 virtual void closeUnorderedListLevel() = 0; 00415 virtual void openListElement(const RVNGPropertyList &propList) = 0; 00419 virtual void closeListElement() = 0; 00420 00426 virtual void openFootnote(const RVNGPropertyList &propList) = 0; 00430 virtual void closeFootnote() = 0; 00431 00436 virtual void openComment(const RVNGPropertyList &propList) = 0; 00440 virtual void closeComment() = 0; 00441 00457 virtual void openFrame(const RVNGPropertyList &propList) = 0; 00461 virtual void closeFrame() = 0; 00472 virtual void insertBinaryObject(const RVNGPropertyList &propList) = 0; 00473 00474 // 00475 // specific text 00476 // 00477 00482 virtual void openTextBox(const RVNGPropertyList &propList) = 0; 00486 virtual void closeTextBox() = 0; 00487 00499 virtual void openTable(const RVNGPropertyList &propList) = 0; 00507 virtual void openTableRow(const RVNGPropertyList &propList) = 0; 00511 virtual void closeTableRow() = 0; 00526 virtual void openTableCell(const RVNGPropertyList &propList) = 0; 00530 virtual void closeTableCell() = 0; 00537 virtual void insertCoveredTableCell(const RVNGPropertyList &propList) = 0; 00541 virtual void closeTable() = 0; 00542 00543 // 00544 // simple Graphic 00545 // 00546 00547 virtual void openGroup(const RVNGPropertyList &propList) = 0; 00548 virtual void closeGroup() = 0; 00549 00550 virtual void defineGraphicStyle(const RVNGPropertyList &propList) = 0; 00551 00552 // Different primitive shapes 00553 virtual void drawRectangle(const RVNGPropertyList &propList) = 0; 00554 00555 virtual void drawEllipse(const RVNGPropertyList &propList) = 0; 00556 00557 virtual void drawPolygon(const RVNGPropertyList &propList) = 0; 00558 00559 virtual void drawPolyline(const RVNGPropertyList &propList) = 0; 00560 00561 virtual void drawPath(const RVNGPropertyList &propList) = 0; 00562 00574 virtual void drawConnector(const RVNGPropertyList &propList) = 0; 00575 00576 // 00577 // Equation 00578 // 00579 00586 virtual void insertEquation(const RVNGPropertyList &propList) = 0; 00587 }; 00588 } 00589 00590 #endif /* DI_SPREADSHEET_INTERFACE_HXX */ 00591 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */