25 #ifndef WKSCONTENTLISTENER_H 26 #define WKSCONTENTLISTENER_H 30 #include <librevenge/librevenge.h> 62 for (
int i=0; i<2; ++i)
91 enum ContentType { C_NONE, C_TEXT, C_NUMBER, C_FORMULA, C_UNKNOWN };
93 CellContent() : m_contentType(C_UNKNOWN), m_value(0.0), m_valueSet(false), m_textEntry(), m_formula() { }
102 if (m_contentType == C_NUMBER)
return false;
103 if (m_contentType == C_TEXT && !m_textEntry.valid())
return false;
104 if (m_contentType == C_FORMULA && (m_formula.size() || isValueSet()))
return false;
121 return m_textEntry.valid();
124 static bool double2Date(
double val,
int &Y,
int &M,
int &D);
126 static bool double2Time(
double val,
int &H,
int &M,
int &S);
140 WKSContentListener(std::vector<WPSPageSpan>
const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface);
144 void setMetaData(
const librevenge::RVNGPropertyList &list);
204 void openSheet(std::vector<WPSColumnFormat>
const &columns, librevenge::RVNGString
const &
name=
"");
251 shared_ptr<WKSDocumentParsingState>
m_ds;
252 shared_ptr<WKSContentParsingState>
m_ps;
253 std::vector<shared_ptr<WKSContentParsingState> >
m_psStack;
std::vector< shared_ptr< WKSContentParsingState > > m_psStack
Definition: WKSContentListener.h:253
void closeSheet()
closes this sheet
Definition: WKSContentListener.cpp:957
CellContent()
constructor
Definition: WKSContentListener.h:93
bool _openFrame(WPSPosition const &pos, WPSGraphicStyle const &style)
Definition: WKSContentListener.cpp:675
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition: WKSContentListener.h:137
class to store the paragraph properties
Definition: WPSParagraph.h:54
void insertTextBox(WPSPosition const &pos, WPSSubDocumentPtr subDocument, WPSGraphicStyle const &frameStyle=WPSGraphicStyle::emptyStyle())
adds a textbox in given position
Definition: WKSContentListener.cpp:556
Definition: WKSContentListener.h:58
WPSFont const & getFont() const
returns the actual font
Definition: WKSContentListener.cpp:278
What
Definition: WKSContentListener.h:58
bool hasText() const
returns true if the text is set
Definition: WKSContentListener.h:119
void endDocument()
Definition: WKSContentListener.cpp:360
the spreadsheet state
Definition: WKSContentListener.cpp:80
What m_type
the type
Definition: WKSContentListener.h:73
shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument
Definition: libwps_internal.h:126
double m_longValue
value ( if type==F_Long )
Definition: WKSContentListener.h:77
void closeSheetRow()
closes this row
Definition: WKSContentListener.cpp:992
void insertField(WPSField const &field)
adds a field
Definition: WKSContentListener.cpp:304
void _handleFrameParameters(librevenge::RVNGPropertyList &propList, WPSPosition const &pos)
Definition: WKSContentListener.cpp:730
Definition: WKSContentListener.h:58
void _flushDeferredTabs()
Definition: WKSContentListener.cpp:467
define the font properties
Definition: WPSFont.h:36
void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, const bool isListElement=false)
Definition: WKSContentListener.cpp:425
a field
Definition: libwps_internal.h:500
void openSheetRow(WPSRowFormat const &f, int numRepeated=1)
open a row
Definition: WKSContentListener.cpp:972
virtual class for content listener
Definition: WPSListener.h:36
void handleSubDocument(WPSSubDocumentPtr &subDocument, libwps::SubDocumentType subDocumentType)
Definition: WKSContentListener.cpp:857
void _openParagraph()
Definition: WKSContentListener.cpp:382
friend std::ostream & operator<<(std::ostream &o, FormulaInstruction const &inst)
operator<<
Definition: WKSContentListener.cpp:1288
void _openSpan()
Definition: WKSContentListener.cpp:435
void insertUnicodeString(librevenge::RVNGString const &str)
adds a unicode string
Definition: WKSContentListener.cpp:192
WKSContentListener(std::vector< WPSPageSpan > const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface)
Definition: WKSContentListener.cpp:158
librevenge::RVNGPropertyList getPropertyList() const
return a proplist corresponding to a instruction
Definition: WKSContentListener.cpp:1235
a structure used to defined the cell position, and a format
Definition: WPSCell.h:277
void setMetaData(const librevenge::RVNGPropertyList &list)
Definition: WKSContentListener.cpp:334
double m_value
the cell value
Definition: WKSContentListener.h:131
void _resetParagraphState(const bool isListElement=false)
Definition: WKSContentListener.cpp:418
Definition: WKSContentListener.h:58
std::string m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text)
Definition: WKSContentListener.h:75
librevenge::RVNGString m_sheetName
the sheet name
Definition: WKSContentListener.h:85
shared_ptr< WKSDocumentParsingState > m_ds
Definition: WKSContentListener.h:251
void insertCharacter(uint8_t character)
adds a basic character, ..
Definition: WKSContentListener.cpp:171
Definition: WKSContentListener.h:58
a structure used to define a picture style
Definition: WPSGraphicStyle.h:37
void insertTab()
adds an unicode character to a string ( with correct encoding ).
Definition: WKSContentListener.cpp:220
WKSContentListener & operator=(const WKSContentListener &)
void _closeFrame()
Definition: WKSContentListener.cpp:718
static WPSGraphicStyle emptyStyle()
returns an empty style.
Definition: WPSGraphicStyle.h:201
a structure used to define a picture shape
Definition: WPSGraphicShape.h:34
bool m_valueSet
true if the value has been set
Definition: WKSContentListener.h:133
double m_doubleValue
value ( if type==F_Double )
Definition: WKSContentListener.h:79
shared_ptr< WKSContentParsingState > m_ps
Definition: WKSContentListener.h:252
SubDocumentType
Definition: libwps_internal.h:260
a small structure used to store the informations about a list
Definition: WPSList.h:36
Vec2b m_positionRelative[2]
relative cell position ( if type==F_Cell or F_CellList )
Definition: WKSContentListener.h:83
void closeSheetCell()
close a cell
Definition: WKSContentListener.cpp:1116
~CellContent()
destructor
Definition: WKSContentListener.h:95
Definition: WKSContentListener.h:58
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:569
void _openPageSpan()
Definition: WKSContentListener.cpp:1133
void setFont(const WPSFont &font)
set the actual font
Definition: WKSContentListener.cpp:264
Definition: WKSContentListener.h:58
void _endSubDocument()
Definition: WKSContentListener.cpp:912
Vec2i m_position[2]
cell position ( if type==F_Cell or F_CellList )
Definition: WKSContentListener.h:81
void setDocumentLanguage(int lcid)
Definition: WKSContentListener.cpp:326
void _popParsingState()
resets the previous parsing state
Definition: WKSContentListener.cpp:1223
void setValue(double value)
sets the double value
Definition: WKSContentListener.h:108
void startDocument()
Definition: WKSContentListener.cpp:344
void _insertBreakIfNecessary(librevenge::RVNGPropertyList &propList)
Definition: WKSContentListener.cpp:251
virtual ~WKSContentListener()
Definition: WKSContentListener.cpp:164
the document state
Definition: WKSContentListener.cpp:48
Vec2< int > Vec2i
Vec2 of int.
Definition: libwps_internal.h:733
shared_ptr< WKSContentParsingState > _pushParsingState()
creates a new parsing state (copy of the actual state)
Definition: WKSContentListener.cpp:1202
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:583
void openSheet(std::vector< WPSColumnFormat > const &columns, librevenge::RVNGString const &name="")
open a sheet
Definition: WKSContentListener.cpp:923
librevenge::RVNGSpreadsheetInterface * m_documentInterface
Definition: WKSContentListener.h:254
void _closeParagraph()
Definition: WKSContentListener.cpp:404
small class use to define a sheet cell content
Definition: WKSContentListener.h:88
void _closePageSpan()
Definition: WKSContentListener.cpp:1185
void _flushText()
Definition: WKSContentListener.cpp:490
void _closeSpan()
Definition: WKSContentListener.cpp:454
WPSEntry m_textEntry
the cell string
Definition: WKSContentListener.h:135
bool isValueSet() const
returns true if the value has been setted
Definition: WKSContentListener.h:114
small class use to define a embedded object
Definition: libwps_internal.h:452
Definition: WPSParagraph.h:37
Definition: WPSPageSpan.h:38
void setParagraph(const WPSParagraph ¶)
sets the actual paragraph
Definition: WKSContentListener.cpp:296
bool openGroup(WPSPosition const &pos)
open a group (not implemented)
Definition: WKSContentListener.cpp:639
basic class to store an entry in a file This contained :
Definition: WPSEntry.h:38
void insertComment(WPSSubDocumentPtr &subDocument)
adds comment
Definition: WKSContentListener.cpp:524
ContentType m_contentType
the content type ( by default unknown )
Definition: WKSContentListener.h:129
void insertUnicode(uint32_t character)
adds an unicode character
Definition: WKSContentListener.cpp:183
Class to define the position of an object (textbox, picture, ..) in the document. ...
Definition: WPSPosition.h:39
Definition: WKSContentListener.h:58
bool isParagraphOpened() const
returns true if a paragraph or a list is opened
Definition: WKSContentListener.cpp:286
small class use to define a formula instruction
Definition: WKSContentListener.h:56
void _startSubDocument()
Definition: WKSContentListener.cpp:906
void closeGroup()
close a group (not implemented)
Definition: WKSContentListener.cpp:663
void insertEOL(bool softBreak=false)
Definition: WKSContentListener.cpp:199
FormulaInstruction()
constructor
Definition: WKSContentListener.h:60
ContentType
the different types of cell's field
Definition: WKSContentListener.h:91
WPSParagraph const & getParagraph() const
returns the actual paragraph
Definition: WKSContentListener.cpp:291
Definition: WKSContentListener.h:52
void insertBreak(const uint8_t breakType)
Definition: WKSContentListener.cpp:232
bool empty() const
returns true if the cell has no content
Definition: WKSContentListener.h:100
Vec2< bool > Vec2b
Vec2 of bool.
Definition: libwps_internal.h:731
void openSheetCell(WPSCell const &cell, CellContent const &content, int numRepeated=1)
low level function to define a cell.
Definition: WKSContentListener.cpp:1003