WKSContentListener.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */
2 /* libwps
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) 2006, 2007 Andrew Ziem
11  * Copyright (C) 2006 Fridrich Strba (fridrich.strba@bluewin.ch)
12  * Copyright (C) 2003-2005 William Lachance (william.lachance@sympatico.ca)
13  * Copyright (C) 2003 Marc Maurer (uwog@uwog.net)
14  *
15  * For minor contributions see the git repository.
16  *
17  * Alternatively, the contents of this file may be used under the terms
18  * of the GNU Lesser General Public License Version 2.1 or later
19  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
20  * applicable instead of those above.
21  *
22  * For further information visit http://libwps.sourceforge.net
23  */
24 
25 #ifndef WKSCONTENTLISTENER_H
26 #define WKSCONTENTLISTENER_H
27 
28 #include <vector>
29 
30 #include <librevenge/librevenge.h>
31 
32 #include "libwps_internal.h"
33 
34 #include "WPSEntry.h"
35 #include "WPSGraphicStyle.h"
36 
37 #include "WPSListener.h"
38 
39 class WPSCellFormat;
40 class WKSChart;
41 struct WPSColumnFormat;
42 class WPSGraphicShape;
43 class WPSGraphicStyle;
44 class WPSList;
45 class WPSPageSpan;
46 struct WPSParagraph;
47 struct WPSRowFormat;
48 struct WPSTabStop;
49 
52 
53 class WKSContentListener final : public WPSListener
54 {
55 public:
58  {
62  : m_type(F_Text)
63  , m_content()
64  , m_longValue(0)
65  , m_doubleValue(0)
66  , m_fileName()
67  {
68  for (auto &pos : m_position) pos=Vec2i(0,0);
69  for (auto &pos : m_positionRelative) pos=Vec2b(false,false);
70  for (auto &id : m_sheetId) id=-1;
71  }
73  librevenge::RVNGPropertyList getPropertyList() const;
75  friend std::ostream &operator<<(std::ostream &o, FormulaInstruction const &inst);
79  std::string m_content;
81  double m_longValue;
83  double m_doubleValue;
89  librevenge::RVNGString m_sheetName[2];
94  int m_sheetId[2];
96  librevenge::RVNGString m_fileName;
97  };
99  struct CellContent
100  {
106  , m_value(0.0)
107  , m_valueSet(false)
108  , m_textEntry()
109  , m_formula() { }
110  CellContent(CellContent const &)=default;
111  CellContent &operator=(CellContent const &)=default;
115  friend std::ostream &operator<<(std::ostream &o, CellContent const &cell);
116 
118  bool empty() const
119  {
120  if (m_contentType == C_NUMBER) return false;
121  if (m_contentType == C_TEXT && !m_textEntry.valid()) return false;
122  if (m_contentType == C_FORMULA && (m_formula.size() || isValueSet())) return false;
123  return true;
124  }
126  void setValue(double value)
127  {
128  m_value = value;
129  m_valueSet = true;
130  }
132  bool isValueSet() const
133  {
134  return m_valueSet;
135  }
137  bool hasText() const
138  {
139  return m_textEntry.valid();
140  }
142  static bool double2Date(double val, int &Y, int &M, int &D);
144  static bool double2Time(double val, int &H, int &M, int &S);
145 
149  double m_value;
155  std::vector<FormulaInstruction> m_formula;
156  };
157 
158  WKSContentListener(std::vector<WPSPageSpan> const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface);
159  ~WKSContentListener() final;
160 
161  void setDocumentLanguage(int lcid) final;
162  void setMetaData(const librevenge::RVNGPropertyList &list);
163 
164  void startDocument();
165  void endDocument();
166  void handleSubDocument(WPSSubDocumentPtr &subDocument, libwps::SubDocumentType subDocumentType);
167 
168  // ------ text data -----------
169 
171  void insertCharacter(uint8_t character) final;
175  void insertUnicode(uint32_t character) final;
177  void insertUnicodeString(librevenge::RVNGString const &str) final;
178 
179  void insertTab() final;
180  void insertEOL(bool softBreak=false) final;
181  void insertBreak(const uint8_t breakType) final;
182 
183  // ------ text format -----------
185  void setFont(const WPSFont &font) final;
187  WPSFont const &getFont() const final;
188 
189  // ------ paragraph format -----------
191  bool isParagraphOpened() const final;
193  void setParagraph(const WPSParagraph &para) final;
195  WPSParagraph const &getParagraph() const final;
196 
197  // ------- fields ----------------
199  void insertField(WPSField const &field) final;
200 
201  // ------- subdocument -----------------
203  void insertComment(WPSSubDocumentPtr &subDocument);
205  void insertPicture(WPSPosition const &pos, const librevenge::RVNGBinaryData &binaryData,
206  std::string type="image/pict", WPSGraphicStyle const &style=WPSGraphicStyle::emptyStyle());
208  void insertObject(WPSPosition const &pos, const WPSEmbeddedObject &obj,
209  WPSGraphicStyle const &style=WPSGraphicStyle::emptyStyle());
211  void insertPicture(WPSPosition const &pos, WPSGraphicShape const &shape, WPSGraphicStyle const &style);
213  void insertTextBox(WPSPosition const &pos, WPSSubDocumentPtr subDocument,
214  WPSGraphicStyle const &frameStyle=WPSGraphicStyle::emptyStyle());
216  bool openGroup(WPSPosition const &pos) final;
218  void closeGroup() final;
219 
220  // ------- sheet -----------------
222  void openSheet(std::vector<WPSColumnFormat> const &columns, librevenge::RVNGString const &name="");
224  void closeSheet();
226  void openSheetRow(WPSRowFormat const &f, int numRepeated=1);
228  void closeSheetRow();
233  void openSheetCell(WPSCell const &cell, CellContent const &content, int numRepeated=1);
235  void closeSheetCell();
236 
237  // ------- chart -----------------
239  void insertChart(WPSPosition const &pos, WKSChart const &chart,
240  WPSGraphicStyle const &style=WPSGraphicStyle::emptyStyle());
241 protected:
242  void _openPageSpan();
243  void _closePageSpan();
244 
245  void _handleFrameParameters(librevenge::RVNGPropertyList &propList, WPSPosition const &pos);
246  bool _openFrame(WPSPosition const &pos, WPSGraphicStyle const &style);
247  void _closeFrame();
248 
249  void _startSubDocument();
250  void _endSubDocument();
251 
252  void _openParagraph();
253  void _closeParagraph();
254  void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, const bool isListElement=false);
255  void _resetParagraphState(const bool isListElement=false);
256 
257  void _openSpan();
258  void _closeSpan();
259 
260  void _flushText();
261  void _flushDeferredTabs();
262 
263  void _insertBreakIfNecessary(librevenge::RVNGPropertyList &propList);
264 
268  std::shared_ptr<WKSContentParsingState> _pushParsingState();
270  void _popParsingState();
271 
272 protected:
273  std::shared_ptr<WKSDocumentParsingState> m_ds; // main parse state
274  std::shared_ptr<WKSContentParsingState> m_ps; // parse state
275  std::vector<std::shared_ptr<WKSContentParsingState> > m_psStack;
276  librevenge::RVNGSpreadsheetInterface *m_documentInterface;
277 
278 private:
279  WKSContentListener(const WKSContentListener &) = delete;
280  WKSContentListener &operator=(const WKSContentListener &) = delete;
281 };
282 
283 #endif
284 /* vim:set shiftwidth=4 softtabstop=4 noexpandtab: */
WKSContentListener::m_ps
std::shared_ptr< WKSContentParsingState > m_ps
Definition: WKSContentListener.h:274
WKSContentListener::FormulaInstruction::F_Text
Definition: WKSContentListener.h:59
WPSPosition::XLeft
Definition: WPSPosition.h:47
WKSContentListener::closeGroup
void closeGroup() final
close a group (not implemented)
Definition: WKSContentListener.cpp:714
WKSContentParsingState::m_paragraph
WPSParagraph m_paragraph
Definition: WKSContentListener.cpp:111
WPSPosition::WRunThrough
Definition: WPSPosition.h:45
WPSCellFormat::F_BOOLEAN
Definition: WPSCell.h:54
WPSParagraph.h
WKSContentParsingState::WKSContentParsingState
WKSContentParsingState()
Definition: WKSContentListener.cpp:135
WPSPageSpan::sendHeaderFooters
void sendHeaderFooters(WPSContentListener *listener, librevenge::RVNGTextInterface *documentInterface)
Definition: WPSPageSpan.cpp:155
WKSContentListener::_appendParagraphProperties
void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, const bool isListElement=false)
Definition: WKSContentListener.cpp:446
WKSContentParsingState::operator=
WKSContentParsingState & operator=(const WKSContentParsingState &)=delete
WPSPosition::getScaleFactor
static float getScaleFactor(librevenge::RVNGUnit orig, librevenge::RVNGUnit dest)
returns a float which can be used to convert between to unit
Definition: WPSPosition.h:136
WPSField
a field
Definition: libwps_internal.h:462
WKSContentParsingState::m_font
WPSFont m_font
Definition: WKSContentListener.cpp:110
WKSContentListener::FormulaInstruction::m_fileName
librevenge::RVNGString m_fileName
the file name (external reference)
Definition: WKSContentListener.h:96
WKSContentListener::CellContent::m_formula
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition: WKSContentListener.h:155
WPSGraphicShape::getType
Type getType() const
returns the type corresponding to a shape
Definition: WPSGraphicShape.h:181
WKSContentListener::FormulaInstruction::F_Long
Definition: WKSContentListener.h:59
WKSContentListener::CellContent::C_FORMULA
Definition: WKSContentListener.h:102
WKSContentListener::insertBreak
void insertBreak(const uint8_t breakType) final
Definition: WKSContentListener.cpp:253
WKSContentParsingState::m_inSubDocument
bool m_inSubDocument
Definition: WKSContentListener.cpp:125
WKSContentListener::FormulaInstruction::F_Cell
Definition: WKSContentListener.h:59
WKSContentListener::CellContent::CellContent
CellContent()
constructor
Definition: WKSContentListener.h:104
WKSContentListener::FormulaInstruction::getPropertyList
librevenge::RVNGPropertyList getPropertyList() const
return a proplist corresponding to a instruction
Definition: WKSContentListener.cpp:1312
WPSPosition::XCenter
Definition: WPSPosition.h:47
WKSContentParsingState::m_isSheetRowOpened
bool m_isSheetRowOpened
Definition: WKSContentListener.cpp:122
WKSContentListener::_startSubDocument
void _startSubDocument()
Definition: WKSContentListener.cpp:983
WPSCell.h
WKSContentListener::closeSheetCell
void closeSheetCell()
close a cell
Definition: WKSContentListener.cpp:1193
WPSPosition::m_anchorTo
AnchorTo m_anchorTo
anchor position
Definition: WPSPosition.h:239
WKSDocumentParsingState::m_numberingIdMap
std::map< WPSCellFormat, int, WPSCellFormat::CompareFormat > m_numberingIdMap
list of document actually open
Definition: WKSContentListener.cpp:63
WPSPageSpan::getFormLength
double getFormLength() const
Definition: WPSPageSpan.h:57
WKSContentParsingState::m_pageMarginBottom
double m_pageMarginBottom
Definition: WKSContentListener.cpp:105
WKSContentListener::openGroup
bool openGroup(WPSPosition const &pos) final
open a group (not implemented)
Definition: WKSContentListener.cpp:690
WPS_SUBSCRIPT_BIT
#define WPS_SUBSCRIPT_BIT
Definition: libwps_internal.h:500
WKSContentParsingState::m_textBuffer
librevenge::RVNGString m_textBuffer
Definition: WKSContentListener.cpp:107
WPSTable.h
WPS_OVERLINE_BIT
#define WPS_OVERLINE_BIT
Definition: libwps_internal.h:515
WPS_UNDERLINE_BIT
#define WPS_UNDERLINE_BIT
Definition: libwps_internal.h:508
WKSDocumentParsingState::~WKSDocumentParsingState
~WKSDocumentParsingState()
destructor
Definition: WKSContentListener.cpp:80
WKSContentParsingState::m_currentPageNumber
int m_currentPageNumber
Definition: WKSContentListener.cpp:96
WPSCellFormat::getFormat
FormatType getFormat() const
returns the format type
Definition: WPSCell.h:152
WKSSubDocument.h
libwps
Definition: libwps_internal.cpp:38
WKSContentListener::FormulaInstruction::F_Operator
Definition: WKSContentListener.h:59
WKSContentParsingState::m_isSpanOpened
bool m_isSpanOpened
Definition: WKSContentListener.cpp:118
WKSContentListener::insertObject
void insertObject(WPSPosition const &pos, const WPSEmbeddedObject &obj, WPSGraphicStyle const &style=WPSGraphicStyle::emptyStyle())
adds an object with replacement picture in given position
Definition: WKSContentListener.cpp:634
WKSContentListener::setDocumentLanguage
void setDocumentLanguage(int lcid) final
Definition: WKSContentListener.cpp:347
WKSContentListener::FormulaInstruction::m_sheetId
int m_sheetId[2]
the sheet id
Definition: WKSContentListener.h:94
WKSContentListener::FormulaInstruction::F_Double
Definition: WKSContentListener.h:59
WKSContentListener::FormulaInstruction::m_longValue
double m_longValue
value ( if type==F_Long )
Definition: WKSContentListener.h:81
WKSContentListener::CellContent::hasText
bool hasText() const
returns true if the text is set
Definition: WKSContentListener.h:137
WPSCellFormat::hasBasicFormat
bool hasBasicFormat() const
returns true if this is a basic format style
Definition: WPSCell.h:87
WPS_SUPERSCRIPT_BIT
#define WPS_SUPERSCRIPT_BIT
Definition: libwps_internal.h:499
WPSGraphicShape::Line
Definition: WPSGraphicShape.h:38
WKSContentParsingState::m_numDeferredTabs
int m_numDeferredTabs
Definition: WKSContentListener.cpp:108
WKSContentParsingState::m_currentPage
unsigned m_currentPage
Definition: WKSContentListener.cpp:94
WKSChart::m_name
librevenge::RVNGString m_name
the chart name
Definition: WKSChart.h:346
WKSContentListener::getParagraph
const WPSParagraph & getParagraph() const final
returns the actual paragraph
Definition: WKSContentListener.cpp:312
WPSPageSpan::getMarginLeft
double getMarginLeft() const
Definition: WPSPageSpan.h:69
WPSCellFormat::F_UNKNOWN
Definition: WPSCell.h:54
WKSContentListener::FormulaInstruction::F_Function
Definition: WKSContentListener.h:59
WKSContentListener::_flushText
void _flushText()
Definition: WKSContentListener.cpp:511
WKSContentListener::~WKSContentListener
~WKSContentListener() final
Definition: WKSContentListener.cpp:185
WKSContentListener::CellContent::double2Time
static bool double2Time(double val, int &H, int &M, int &S)
conversion beetween double: second since 0:00 and time
Definition: WKSContentListener.cpp:1465
WKSContentListener::insertChart
void insertChart(WPSPosition const &pos, WKSChart const &chart, WPSGraphicStyle const &style=WPSGraphicStyle::emptyStyle())
adds a chart in given position
Definition: WKSContentListener.cpp:580
WKSContentListener::setParagraph
void setParagraph(const WPSParagraph &para) final
sets the actual paragraph
Definition: WKSContentListener.cpp:317
WKSContentListener::FormulaInstruction::What
What
Definition: WKSContentListener.h:59
WKSContentListener::endDocument
void endDocument()
Definition: WKSContentListener.cpp:381
WPSPosition::m_wrapping
Wrapping m_wrapping
Wrapping.
Definition: WPSPosition.h:247
WPSColumnFormat
Definition: WPSTable.h:39
WPSRowFormat::addTo
void addTo(librevenge::RVNGPropertyList &propList) const
add to the propList
Definition: WPSTable.cpp:85
WKSContentListener::FormulaInstruction::operator<<
friend std::ostream & operator<<(std::ostream &o, FormulaInstruction const &inst)
operator<<
Definition: WKSContentListener.cpp:1371
WKSContentListener::_insertBreakIfNecessary
void _insertBreakIfNecessary(librevenge::RVNGPropertyList &propList)
Definition: WKSContentListener.cpp:272
WPSPosition::origin
const Vec2f & origin() const
return the frame origin
Definition: WPSPosition.h:116
WPSPosition::m_anchorCellName
librevenge::RVNGString m_anchorCellName
the anchor cell name
Definition: WPSPosition.h:241
WKSContentListener::closeSheet
void closeSheet()
closes this sheet
Definition: WKSContentListener.cpp:1034
WKSContentListener::_closeSpan
void _closeSpan()
Definition: WKSContentListener.cpp:475
WPSGraphicShape::C_Path
Definition: WPSGraphicShape.h:40
WKSContentListener::FormulaInstruction::m_doubleValue
double m_doubleValue
value ( if type==F_Double )
Definition: WKSContentListener.h:83
WKSContentParsingState::~WKSContentParsingState
~WKSContentParsingState()
Definition: WKSContentListener.cpp:173
WKSContentParsingState::m_isNote
bool m_isNote
Definition: WKSContentListener.cpp:127
WKSContentParsingState::m_numPagesRemainingInSpan
int m_numPagesRemainingInSpan
Definition: WKSContentListener.cpp:95
WKSContentParsingState::m_isParagraphOpened
bool m_isParagraphOpened
Definition: WKSContentListener.cpp:119
WPSFont::m_languageId
int m_languageId
the language (simplified locale name id) if known
Definition: WPSFont.h:91
WPSFont
define the font properties
Definition: WPSFont.h:36
WKSContentListener::insertComment
void insertComment(WPSSubDocumentPtr &subDocument)
adds comment
Definition: WKSContentListener.cpp:545
WKSContentListener::_closeParagraph
void _closeParagraph()
Definition: WKSContentListener.cpp:425
WKSContentParsingState::m_pageMarginTop
double m_pageMarginTop
Definition: WKSContentListener.cpp:104
WPSPosition::Char
Definition: WPSPosition.h:43
WPSEntry::valid
bool valid(bool checkId=false) const
returns true if the zone length is positive
Definition: WPSEntry.h:87
WPSTabStop
Definition: WPSParagraph.h:37
WKSContentListener::getFont
const WPSFont & getFont() const final
returns the actual font
Definition: WKSContentListener.cpp:299
WKSDocumentParsingState::m_isHeaderFooterStarted
bool m_isHeaderFooterStarted
Definition: WKSContentListener.cpp:59
WPSEntry
basic class to store an entry in a file This contained :
Definition: WPSEntry.h:38
WKSContentListener::handleSubDocument
void handleSubDocument(WPSSubDocumentPtr &subDocument, libwps::SubDocumentType subDocumentType)
Definition: WKSContentListener.cpp:932
Vec2i
Vec2< int > Vec2i
Vec2 of int.
Definition: libwps_internal.h:702
libwps::DOC_TEXT_BOX
Definition: libwps_internal.h:248
WPSPosition::CharBaseLine
Definition: WPSPosition.h:43
WPS_PAGE_BREAK
#define WPS_PAGE_BREAK
Definition: libwps_internal.h:519
WKSContentParsingState::m_isFrameOpened
bool m_isFrameOpened
Definition: WKSContentListener.cpp:92
WKSContentListener::m_documentInterface
librevenge::RVNGSpreadsheetInterface * m_documentInterface
Definition: WKSContentListener.h:276
WPSGraphicShape::addTo
Command addTo(Vec2f const &orig, bool asSurface, librevenge::RVNGPropertyList &propList) const
updates the propList to send to an interface
Definition: WPSGraphicShape.cpp:396
WKSContentListener::FormulaInstruction::m_type
What m_type
the type
Definition: WKSContentListener.h:77
WPSPageSpan::getFormWidth
double getFormWidth() const
Definition: WPSPageSpan.h:61
WPSGraphicStyle::hasSurface
bool hasSurface() const
returns true if the interior surface is defined
Definition: WPSGraphicStyle.h:277
WPSPageSpan.h
WKSContentListener::FormulaInstruction::m_position
Vec2i m_position[2]
cell position ( if type==F_Cell or F_CellList )
Definition: WKSContentListener.h:85
WKSContentListener::CellContent::double2Date
static bool double2Date(double val, int &Y, int &M, int &D)
conversion beetween double days since 1900 and date
Definition: WKSContentListener.cpp:1409
WPSGraphicShape::C_Polygon
Definition: WPSGraphicShape.h:40
WPSGraphicShape
a structure used to define a picture shape
Definition: WPSGraphicShape.h:34
WKSContentListener::CellContent::m_value
double m_value
the cell value
Definition: WKSContentListener.h:149
WKSContentListener::startDocument
void startDocument()
Definition: WKSContentListener.cpp:365
WKSContentParsingState::m_pageMarginRight
double m_pageMarginRight
Definition: WKSContentListener.cpp:103
WKSContentListener::insertCharacter
void insertCharacter(uint8_t character) final
adds a basic character, ..
Definition: WKSContentListener.cpp:192
WPSField::addTo
bool addTo(librevenge::RVNGPropertyList &propList) const
add the link property to proplist (if possible)
Definition: libwps_internal.cpp:530
WKSContentListener::insertField
void insertField(WPSField const &field) final
adds a field
Definition: WKSContentListener.cpp:325
WKSContentListener::insertUnicode
void insertUnicode(uint32_t character) final
adds an unicode character
Definition: WKSContentListener.cpp:204
WKSContentListener::CellContent::~CellContent
~CellContent()
destructor
Definition: WKSContentListener.h:113
WKSContentListener::_openParagraph
void _openParagraph()
Definition: WKSContentListener.cpp:403
WPSPosition::getInvUnitScale
float getInvUnitScale(librevenge::RVNGUnit unt) const
returns a float which can be used to scale some data in object unit
Definition: WPSPosition.h:174
libwps::ParseException
Definition: libwps_internal.h:151
WKSContentListener::CellContent::C_UNKNOWN
Definition: WKSContentListener.h:102
Vec2< float >
WKSContentListener::_flushDeferredTabs
void _flushDeferredTabs()
Definition: WKSContentListener.cpp:488
WKSContentListener::_openPageSpan
void _openPageSpan()
Definition: WKSContentListener.cpp:1210
WPSField::m_type
Type m_type
the type
Definition: libwps_internal.h:484
WKSContentListener::_openSpan
void _openSpan()
Definition: WKSContentListener.cpp:456
WKSChart
a class used to store a chart associated to a spreadsheet ....
Definition: WKSChart.h:45
WKSChart::sendChart
void sendChart(WKSContentListenerPtr &listener, librevenge::RVNGSpreadsheetInterface *interface) const
send the chart to the listener
Definition: WKSChart.cpp:186
WPS_DEBUG_MSG
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:134
WPSPosition::YBottom
Definition: WPSPosition.h:49
WPSCellFormat::F_TIME
Definition: WPSCell.h:54
WPS_FALLTHROUGH
#define WPS_FALLTHROUGH
fall through attributes
Definition: libwps_internal.h:82
WPSParagraph
class to store the paragraph properties
Definition: WPSParagraph.h:57
WKSContentListener::_resetParagraphState
void _resetParagraphState(const bool isListElement=false)
Definition: WKSContentListener.cpp:439
Vec2::x
T x() const
first element
Definition: libwps_internal.h:542
WPSGraphicShape::C_Polyline
Definition: WPSGraphicShape.h:40
WPSCellFormat::F_NUMBER
Definition: WPSCell.h:54
WKSContentListener::FormulaInstruction::m_sheetName
librevenge::RVNGString m_sheetName[2]
the sheet name
Definition: WKSContentListener.h:89
WPSPageSpan::getPageProperty
void getPageProperty(librevenge::RVNGPropertyList &pList) const
Definition: WPSPageSpan.cpp:282
WPSPosition::YFull
Definition: WPSPosition.h:49
WPSGraphicShape::C_Rectangle
Definition: WPSGraphicShape.h:40
libwps::DOC_COMMENT_ANNOTATION
Definition: libwps_internal.h:248
WPSGraphicStyle::addFrameTo
void addFrameTo(librevenge::RVNGPropertyList &pList) const
add all the frame parameters to propList: the background and the borders
Definition: WPSGraphicStyle.cpp:369
libwps::appendUnicode
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string ( with correct encoding ).
Definition: libwps_internal.cpp:836
WKSContentListener::CellContent::operator=
CellContent & operator=(CellContent const &)=default
WKSContentListener::CellContent::m_valueSet
bool m_valueSet
true if the value has been set
Definition: WKSContentListener.h:151
libwps::SubDocumentType
SubDocumentType
Definition: libwps_internal.h:248
WPSPageSpan::PORTRAIT
Definition: WPSPageSpan.h:41
WKSContentListener::FormulaInstruction
small class use to define a formula instruction
Definition: WKSContentListener.h:57
WPSListener
virtual class for content listener
Definition: WPSListener.h:36
WPSFont.h
WKSContentParsingState::m_pageMarginLeft
double m_pageMarginLeft
Definition: WKSContentListener.cpp:102
WPSCellFormat::F_TEXT
Definition: WPSCell.h:54
WPSPosition::YCenter
Definition: WPSPosition.h:49
WKSContentParsingState::m_isGroupOpened
bool m_isGroupOpened
a flag to know if openGroup was called
Definition: WKSContentListener.cpp:113
WPSField::getString
librevenge::RVNGString getString() const
returns a string corresponding to the field (if possible) *‍/
Definition: libwps_internal.cpp:584
WKSDocumentParsingState
the document state
Definition: WKSContentListener.cpp:49
WPSGraphicShape::C_Ellipse
Definition: WPSGraphicShape.h:40
WPSEntry.h
WKSContentListener::_closeFrame
void _closeFrame()
Definition: WKSContentListener.cpp:783
WPSGraphicStyle
a structure used to define a picture style
Definition: WPSGraphicStyle.h:37
WKSContentListener::insertEOL
void insertEOL(bool softBreak=false) final
Definition: WKSContentListener.cpp:220
WPSPosition::YTop
Definition: WPSPosition.h:49
WKSDocumentParsingState::m_pageList
std::vector< WPSPageSpan > m_pageList
Definition: WKSContentListener.cpp:56
WPSCell::addTo
void addTo(librevenge::RVNGPropertyList &propList) const
add to the propList
Definition: WPSCell.cpp:534
WKSContentListener::FormulaInstruction::FormulaInstruction
FormulaInstruction()
constructor
Definition: WKSContentListener.h:61
WPSPosition::Paragraph
Definition: WPSPosition.h:43
WPSPosition::page
int page() const
returns the frame page
Definition: WPSPosition.h:111
libwps::DOC_CHART_ZONE
Definition: libwps_internal.h:248
WKSContentListener::openSheetRow
void openSheetRow(WPSRowFormat const &f, int numRepeated=1)
open a row
Definition: WKSContentListener.cpp:1049
WPSFont::m_size
double m_size
font size
Definition: WPSFont.h:83
WPSCellFormat
a structure used to defined the cell format
Definition: WPSCell.h:40
WKSContentListener::insertTextBox
void insertTextBox(WPSPosition const &pos, WPSSubDocumentPtr subDocument, WPSGraphicStyle const &frameStyle=WPSGraphicStyle::emptyStyle())
adds a textbox in given position
Definition: WKSContentListener.cpp:607
WPSSubDocumentPtr
std::shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument
Definition: libwps_internal.h:111
WPSEmbeddedObject
small class use to define a embedded object
Definition: libwps_internal.h:1076
WKSContentParsingState::m_isParagraphColumnBreak
bool m_isParagraphColumnBreak
Definition: WKSContentListener.cpp:115
WKSContentListener::openSheetCell
void openSheetCell(WPSCell const &cell, CellContent const &content, int numRepeated=1)
low level function to define a cell.
Definition: WKSContentListener.cpp:1080
WPSPosition::unit
librevenge::RVNGUnit unit() const
returns the unit
Definition: WPSPosition.h:131
WKSDocumentParsingState::WKSDocumentParsingState
WKSDocumentParsingState(std::vector< WPSPageSpan > const &pageList)
constructor
Definition: WKSContentListener.cpp:70
WKSContentListener::CellContent::m_textEntry
WPSEntry m_textEntry
the cell string
Definition: WKSContentListener.h:153
WKSContentListener::isParagraphOpened
bool isParagraphOpened() const final
returns true if a paragraph or a list is opened
Definition: WKSContentListener.cpp:307
WKSContentListener::insertTab
void insertTab() final
adds an unicode character to a string ( with correct encoding ).
Definition: WKSContentListener.cpp:241
WKSContentParsingState
the spreadsheet state
Definition: WKSContentListener.cpp:86
WPSPosition::ParagraphContent
Definition: WPSPosition.h:43
WKSContentListener::CellContent::m_contentType
ContentType m_contentType
the content type ( by default unknown )
Definition: WKSContentListener.h:147
WPSCell
a structure used to defined the cell position, and a format
Definition: WPSCell.h:290
WKSDocumentParsingState::m_isDocumentStarted
bool m_isDocumentStarted
Definition: WKSContentListener.cpp:59
WKSContentParsingState::m_isSheetOpened
bool m_isSheetOpened
Definition: WKSContentListener.cpp:121
WPSGraphicShape::C_Bad
Definition: WPSGraphicShape.h:40
WPSPageSpan::getMarginTop
double getMarginTop() const
Definition: WPSPageSpan.h:77
libwps::DOC_NONE
Definition: libwps_internal.h:248
WKSContentListener::m_ds
std::shared_ptr< WKSDocumentParsingState > m_ds
Definition: WKSContentListener.h:273
WPSPosition::XRight
Definition: WPSPosition.h:47
WKSDocumentParsingState::m_metaData
librevenge::RVNGPropertyList m_metaData
Definition: WKSContentListener.cpp:57
WPSPosition::Cell
Definition: WPSPosition.h:43
WPSPageSpan::getPageSpan
int getPageSpan() const
Definition: WPSPageSpan.h:105
libwps_tools_win.h
WKSContentListener::closeSheetRow
void closeSheetRow()
closes this row
Definition: WKSContentListener.cpp:1069
WPSPageSpan
Definition: WPSPageSpan.h:38
WKSContentListener::_handleFrameParameters
void _handleFrameParameters(librevenge::RVNGPropertyList &propList, WPSPosition const &pos)
Definition: WKSContentListener.cpp:795
WPSPosition::Page
Definition: WPSPosition.h:43
WKSChart.h
WKSContentParsingState::m_isPageSpanOpened
bool m_isPageSpanOpened
Definition: WKSContentListener.cpp:91
WKSContentListener::FormulaInstruction::m_content
std::string m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text)
Definition: WKSContentListener.h:79
WPSCellFormat::getNumberingProperties
bool getNumberingProperties(librevenge::RVNGPropertyList &propList) const
get the number style
Definition: WPSCell.cpp:281
WPSPageSpan::getMarginBottom
double getMarginBottom() const
Definition: WPSPageSpan.h:81
WPSGraphicStyle::addTo
void addTo(librevenge::RVNGPropertyList &pList, bool only1d=false) const
add all the parameters to the propList excepted the frame parameter: the background and the borders
Definition: WPSGraphicStyle.cpp:165
WPSCellFormat::getValueType
std::string getValueType() const
returns a value type
Definition: WPSCell.cpp:246
WKSContentListener::_popParsingState
void _popParsingState()
resets the previous parsing state
Definition: WKSContentListener.cpp:1300
libwps_tools_win::Language::name
std::string name(long id)
returns the name given Windows id
Definition: libwps_tools_win.cpp:7332
libwps::DOC_TABLE
Definition: libwps_internal.h:248
WKSContentListener::CellContent::ContentType
ContentType
the different types of cell's field
Definition: WKSContentListener.h:102
WKSContentListener::m_psStack
std::vector< std::shared_ptr< WKSContentParsingState > > m_psStack
Definition: WKSContentListener.h:275
WKSContentListener::_pushParsingState
std::shared_ptr< WKSContentParsingState > _pushParsingState()
creates a new parsing state (copy of the actual state)
Definition: WKSContentListener.cpp:1279
WKSDocumentParsingState::operator=
WKSDocumentParsingState & operator=(const WKSDocumentParsingState &)=delete
WPSPosition.h
WPSPageSpan::getMarginRight
double getMarginRight() const
Definition: WPSPageSpan.h:73
WPSCellFormat::getFont
const WPSFont & getFont() const
returns the font
Definition: WPSCell.h:99
WPSFont::addTo
void addTo(librevenge::RVNGPropertyList &propList) const
add to the propList
Definition: WPSFont.cpp:85
WKSContentListener::_openFrame
bool _openFrame(WPSPosition const &pos, WPSGraphicStyle const &style)
Definition: WKSContentListener.cpp:726
WPSPosition
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: WPSPosition.h:39
WPSPosition::XFull
Definition: WPSPosition.h:47
WPSPosition::size
const Vec2f & size() const
returns the frame size
Definition: WPSPosition.h:121
WPSEmbeddedObject::addTo
bool addTo(librevenge::RVNGPropertyList &propList) const
add the link property to proplist
Definition: libwps_internal.cpp:784
WKSContentListener::CellContent::empty
bool empty() const
returns true if the cell has no content
Definition: WKSContentListener.h:118
WPSList
a small structure used to store the informations about a list
Definition: WPSList.h:36
WKSContentListener::_endSubDocument
void _endSubDocument()
Definition: WKSContentListener.cpp:989
WPSPosition::m_yPos
YPos m_yPos
Y relative position.
Definition: WPSPosition.h:245
WKSContentListener::insertPicture
void insertPicture(WPSPosition const &pos, const librevenge::RVNGBinaryData &binaryData, std::string type="image/pict", WPSGraphicStyle const &style=WPSGraphicStyle::emptyStyle())
adds a picture in given position
Definition: WKSContentListener.cpp:620
libwps_internal.h
WPSRowFormat
Definition: WPSTable.h:100
WKSContentListener::FormulaInstruction::m_positionRelative
Vec2b m_positionRelative[2]
relative cell position ( if type==F_Cell or F_CellList )
Definition: WKSContentListener.h:87
WKSContentListener.h
WKSContentListener::CellContent::C_TEXT
Definition: WKSContentListener.h:102
WPSCellFormat::F_DATE
Definition: WPSCell.h:54
WPSGraphicShape.h
WPSPosition::naturalSize
const Vec2f & naturalSize() const
returns the natural size (if known)
Definition: WPSPosition.h:126
WKSContentListener::WKSContentListener
WKSContentListener(std::vector< WPSPageSpan > const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface)
Definition: WKSContentListener.cpp:177
WKSContentListener::CellContent::isValueSet
bool isValueSet() const
returns true if the value has been setted
Definition: WKSContentListener.h:132
WKSContentParsingState::m_subDocumentType
libwps::SubDocumentType m_subDocumentType
Definition: WKSContentListener.cpp:128
WKSContentListener::CellContent::C_NONE
Definition: WKSContentListener.h:102
WPS_COLUMN_BREAK
#define WPS_COLUMN_BREAK
Definition: libwps_internal.h:521
Vec2b
Vec2< bool > Vec2b
Vec2 of bool.
Definition: libwps_internal.h:700
WKSContentParsingState::m_pageFormOrientationIsPortrait
bool m_pageFormOrientationIsPortrait
Definition: WKSContentListener.cpp:100
WKSContentListener::CellContent::setValue
void setValue(double value)
sets the double value
Definition: WKSContentListener.h:126
WKSContentListener
Definition: WKSContentListener.h:53
librevenge
Definition: WPSOLEStream.h:33
WKSContentListener::CellContent
small class use to define a sheet cell content
Definition: WKSContentListener.h:99
WPSGraphicStyle::m_frameName
librevenge::RVNGString m_frameName
the frame name
Definition: WPSGraphicStyle.h:397
WKSContentListener::openSheet
void openSheet(std::vector< WPSColumnFormat > const &columns, librevenge::RVNGString const &name="")
open a sheet
Definition: WKSContentListener.cpp:1000
WPSPageSpan::getFormOrientation
FormOrientation getFormOrientation() const
Definition: WPSPageSpan.h:65
WKSContentParsingState::m_pageFormWidth
double m_pageFormWidth
Definition: WKSContentListener.cpp:99
WKSContentListener::setFont
void setFont(const WPSFont &font) final
set the actual font
Definition: WKSContentListener.cpp:285
operator<<
std::ostream & operator<<(std::ostream &o, WKSContentListener::FormulaInstruction const &inst)
Definition: WKSContentListener.cpp:1371
WPSGraphicStyle.h
WKSContentParsingState::m_pageFormLength
double m_pageFormLength
Definition: WKSContentListener.cpp:98
libwps_tools_win::Language::localeName
std::string localeName(long id)
returns the simplified locale name
Definition: libwps_tools_win.cpp:7423
WPS_shared_ptr_noop_deleter
a noop deleter used to transform a librevenge pointer in a false std::shared_ptr
Definition: libwps_internal.h:71
WKSContentListener::FormulaInstruction::F_CellList
Definition: WKSContentListener.h:59
WKSDocumentParsingState::m_subDocuments
std::vector< WPSSubDocumentPtr > m_subDocuments
Definition: WKSContentListener.cpp:60
WKSContentListener::setMetaData
void setMetaData(const librevenge::RVNGPropertyList &list)
Definition: WKSContentListener.cpp:355
WKSContentParsingState::m_isSheetCellOpened
bool m_isSheetCellOpened
Definition: WKSContentListener.cpp:123
WPSListener.h
WPSPosition::PageContent
Definition: WPSPosition.h:43
Vec2::y
T y() const
second element
Definition: libwps_internal.h:547
WKSContentParsingState::m_isParagraphPageBreak
bool m_isParagraphPageBreak
Definition: WKSContentListener.cpp:116
WKSContentListener::CellContent::C_NUMBER
Definition: WKSContentListener.h:102
WPSPosition::m_xPos
XPos m_xPos
X relative position.
Definition: WPSPosition.h:243
WKSContentListener::CellContent::operator<<
friend std::ostream & operator<<(std::ostream &o, CellContent const &cell)
operator<<
Definition: WKSContentListener.cpp:1477
WKSContentListener::_closePageSpan
void _closePageSpan()
Definition: WKSContentListener.cpp:1262
libwps::getCellName
std::string getCellName(Vec2i const &cellPos, Vec2b const &relative)
returns the cell name corresponding to a cell's position
Definition: libwps_internal.cpp:953
WPSFont::m_name
librevenge::RVNGString m_name
font name
Definition: WPSFont.h:81
WKSContentListener::insertUnicodeString
void insertUnicodeString(librevenge::RVNGString const &str) final
adds a unicode string
Definition: WKSContentListener.cpp:213
WPSPosition::WDynamic
Definition: WPSPosition.h:45

Generated on Tue Jan 21 2020 18:52:40 for libwps by doxygen 1.8.16