RVNGCSVSpreadsheetGenerator.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* librevenge
3  * Version: MPL 2.0 / LGPLv2.1+
4  *
5  * This Source Code Form is subject to the terms of the Mozilla Public
6  * License, v. 2.0. If a copy of the MPL was not distributed with this
7  * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8  *
9  * Major Contributor(s):
10  * Copyright (C) 2002 William Lachance (wrlach@gmail.com)
11  * Copyright (C) 2002-2004 Marc Maurer (uwog@uwog.net)
12  *
13  * For minor contributions see the git repository.
14  *
15  * Alternatively, the contents of this file may be used under the terms
16  * of the GNU Lesser General Public License Version 2.1 or later
17  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
18  * applicable instead of those above.
19  */
20 
21 #ifndef RVNGCSVSPREADSHEETGENERATOR_H
22 #define RVNGCSVSPREADSHEETGENERATOR_H
23 
25 
26 #include <librevenge/librevenge.h>
28 
29 namespace librevenge
30 {
31 
32 struct RVNGCSVSpreadsheetGeneratorImpl;
38 {
43 
44 public:
53  explicit RVNGCSVSpreadsheetGenerator(RVNGStringVector &sheets, bool generateFormula=false);
61  void setSeparators(char fieldSep=',', char textSep='"', char decimalSep='.');
63  void setDTFormats(RVNGString const &date="%m/%d/%y", RVNGString const &time="%H:%M:%S");
64  void setDocumentMetaData(const RVNGPropertyList &propList);
65  void defineEmbeddedFont(const RVNGPropertyList &propList);
66 
67  void startDocument(const RVNGPropertyList &propList);
68  void endDocument();
69 
70  // sheet
71  void defineSheetNumberingStyle(const RVNGPropertyList &propList);
72  void openSheet(const RVNGPropertyList &propList);
73  void closeSheet();
74  void openSheetRow(const RVNGPropertyList &propList);
75  void closeSheetRow();
76  void openSheetCell(const RVNGPropertyList &propList);
77  void closeSheetCell();
78 
79  // chart
80  void defineChartStyle(const RVNGPropertyList &propList);
81  void openChart(const RVNGPropertyList &propList);
82  void closeChart();
83  void openChartTextObject(const RVNGPropertyList &propList);
84  void closeChartTextObject();
85  void openChartPlotArea(const RVNGPropertyList &propList);
86  void closeChartPlotArea();
87  void insertChartAxis(const RVNGPropertyList &axis);
88  void openChartSerie(const librevenge::RVNGPropertyList &series);
89  void closeChartSerie();
90 
91  void definePageStyle(const RVNGPropertyList &propList);
92  void openPageSpan(const RVNGPropertyList &propList);
93  void closePageSpan();
94  void openHeader(const RVNGPropertyList &propList);
95  void closeHeader();
96  void openFooter(const RVNGPropertyList &propList);
97  void closeFooter();
98 
99  void defineParagraphStyle(const RVNGPropertyList &propList);
100  void openParagraph(const RVNGPropertyList &propList);
101  void closeParagraph();
102 
103  void defineCharacterStyle(const RVNGPropertyList &propList);
104  void openSpan(const RVNGPropertyList &propList);
105  void closeSpan();
106 
107  void openLink(const RVNGPropertyList &propList);
108  void closeLink();
109 
110  void defineSectionStyle(const RVNGPropertyList &propList);
111  void openSection(const RVNGPropertyList &propList);
112  void closeSection();
113 
114  void insertTab();
115  void insertSpace();
116  void insertText(const RVNGString &text);
117  void insertLineBreak();
118  void insertField(const RVNGPropertyList &propList);
119 
120  void openOrderedListLevel(const RVNGPropertyList &propList);
121  void openUnorderedListLevel(const RVNGPropertyList &propList);
122  void closeOrderedListLevel();
123  void closeUnorderedListLevel();
124  void openListElement(const RVNGPropertyList &propList);
125  void closeListElement();
126 
127  void openFootnote(const RVNGPropertyList &propList);
128  void closeFootnote();
129  void openEndnote(const RVNGPropertyList &propList);
130  void closeEndnote();
131  void openComment(const RVNGPropertyList &propList);
132  void closeComment();
133 
134  void openTextBox(const RVNGPropertyList &propList);
135  void closeTextBox();
136 
137  void openTable(const RVNGPropertyList &propList);
138  void openTableRow(const RVNGPropertyList &propList);
139  void closeTableRow();
140  void openTableCell(const RVNGPropertyList &propList);
141  void closeTableCell();
142  void insertCoveredTableCell(const RVNGPropertyList &propList);
143  void closeTable();
144 
145  void openFrame(const RVNGPropertyList &propList);
146  void closeFrame();
147 
148  void insertBinaryObject(const RVNGPropertyList &propList);
149 
150  // drawing function
151  void openGroup(const RVNGPropertyList &propList);
152  void closeGroup();
153 
154  void defineGraphicStyle(const RVNGPropertyList &propList);
155  void drawRectangle(const RVNGPropertyList &propList);
156  void drawEllipse(const RVNGPropertyList &propList);
157  void drawPolygon(const RVNGPropertyList &propList);
158  void drawPolyline(const RVNGPropertyList &propList);
159  void drawPath(const RVNGPropertyList &propList);
160  void drawConnector(const RVNGPropertyList &propList);
161 
162  void insertEquation(const RVNGPropertyList &propList);
163 
164 private:
167 };
168 
169 }
170 
171 #endif /* RVNGCSVSPREADSHEETGENERATOR_H */
172 
173 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
Definition: RVNGBinaryData.cpp:38
A CSV generator for spreadsheet documents.
Definition: RVNGCSVSpreadsheetGenerator.h:37
Pure virtual class containing all the callback functions that can be made by a spreadsheet parser...
Definition: RVNGSpreadsheetInterface.h:49
Definition: RVNGCSVSpreadsheetGenerator.cpp:48
RVNGCSVSpreadsheetGeneratorImpl * m_impl
the internal storage data
Definition: RVNGCSVSpreadsheetGenerator.h:166
#define REVENGE_GENERATORS_API
Definition: librevenge-generators-api.h:34
Definition: RVNGPropertyList.h:38
UTF-8 string.
Definition: RVNGString.h:33
Definition: RVNGStringVector.h:32

Generated for librevenge by doxygen 1.8.14