RVNGSpreadsheetInterface.h
Go to the documentation of this file.
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: */