25 #ifndef WKSCONTENTLISTENER_H    26 #define WKSCONTENTLISTENER_H    30 #include <librevenge/librevenge.h>    60                         for (
int i=0; i<2; ++i)
    89                 enum ContentType { C_NONE, C_TEXT, C_NUMBER, C_FORMULA, C_UNKNOWN };
    91                 CellContent() : m_contentType(C_UNKNOWN), m_value(0.0), m_valueSet(false), m_textEntry(), m_formula() { }
   100                         if (m_contentType == C_NUMBER) 
return false;
   101                         if (m_contentType == C_TEXT && !m_textEntry.valid()) 
return false;
   102                         if (m_contentType == C_FORMULA && (m_formula.size() || isValueSet())) 
return false;
   119                         return m_textEntry.valid();
   122                 static bool double2Date(
double val, 
int &Y, 
int &M, 
int &D);
   124                 static bool double2Time(
double val, 
int &H, 
int &M, 
int &S);
   138         WKSContentListener(std::vector<WPSPageSpan> 
const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface);
   197         void openSheet(std::vector<float> 
const &colWidth, librevenge::RVNGUnit unit,
   198                        std::vector<int> 
const &repeatColWidthNumber=std::vector<int>(), librevenge::RVNGString 
const &
name=
"");
   202         void openSheetRow(
float h, librevenge::RVNGUnit unit, 
bool headerRow=
false, 
int numRepeated=1);
   245         shared_ptr<WKSDocumentParsingState> 
m_ds; 
   246         shared_ptr<WKSContentParsingState> 
m_ps; 
   247         std::vector<shared_ptr<WKSContentParsingState> > 
m_psStack;
 std::vector< shared_ptr< WKSContentParsingState > > m_psStack
Definition: WKSContentListener.h:247
void closeSheet()
closes this sheet 
Definition: WKSContentListener.cpp:912
CellContent()
constructor 
Definition: WKSContentListener.h:91
bool _openFrame(WPSPosition const &pos, WPSGraphicStyle const &style)
Definition: WKSContentListener.cpp:621
std::vector< FormulaInstruction > m_formula
the formula list of instruction 
Definition: WKSContentListener.h:135
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:538
Definition: WKSContentListener.h:56
What
Definition: WKSContentListener.h:56
void endDocument()
Definition: WKSContentListener.cpp:347
the spreadsheet state 
Definition: WKSContentListener.cpp:79
What m_type
the type 
Definition: WKSContentListener.h:71
shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument 
Definition: libwps_internal.h:110
double m_longValue
value ( if type==F_Long ) 
Definition: WKSContentListener.h:75
void closeSheetRow()
closes this row 
Definition: WKSContentListener.cpp:952
void insertField(WPSField const &field)
adds a field 
Definition: WKSContentListener.cpp:301
void _handleFrameParameters(librevenge::RVNGPropertyList &propList, WPSPosition const &pos)
Definition: WKSContentListener.cpp:676
Definition: WKSContentListener.h:56
void _flushDeferredTabs()
Definition: WKSContentListener.cpp:454
define the font properties 
Definition: WPSFont.h:36
void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, const bool isListElement=false)
Definition: WKSContentListener.cpp:412
a field 
Definition: libwps_internal.h:479
virtual class for content listener 
Definition: WPSListener.h:36
void handleSubDocument(WPSSubDocumentPtr &subDocument, libwps::SubDocumentType subDocumentType)
Definition: WKSContentListener.cpp:803
void _openParagraph()
Definition: WKSContentListener.cpp:369
void openSheet(std::vector< float > const &colWidth, librevenge::RVNGUnit unit, std::vector< int > const &repeatColWidthNumber=std::vector< int >(), librevenge::RVNGString const &name="")
open a sheet 
Definition: WKSContentListener.cpp:869
friend std::ostream & operator<<(std::ostream &o, FormulaInstruction const &inst)
operator<< 
Definition: WKSContentListener.cpp:1247
void _openSpan()
Definition: WKSContentListener.cpp:422
librevenge::RVNGPropertyList getPropertyList() const 
return a proplist corresponding to a instruction 
Definition: WKSContentListener.cpp:1194
void insertUnicodeString(librevenge::RVNGString const &str)
adds a unicode string 
Definition: WKSContentListener.cpp:189
WKSContentListener(std::vector< WPSPageSpan > const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface)
Definition: WKSContentListener.cpp:155
a structure used to defined the cell position, and a format 
Definition: WPSCell.h:251
double m_value
the cell value 
Definition: WKSContentListener.h:129
void _resetParagraphState(const bool isListElement=false)
Definition: WKSContentListener.cpp:405
Definition: WKSContentListener.h:56
std::string m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text) 
Definition: WKSContentListener.h:73
librevenge::RVNGString m_sheetName
the sheet name 
Definition: WKSContentListener.h:83
shared_ptr< WKSDocumentParsingState > m_ds
Definition: WKSContentListener.h:245
void insertCharacter(uint8_t character)
adds a basic character, .. 
Definition: WKSContentListener.cpp:168
bool isParagraphOpened() const 
returns true if a paragraph or a list is opened 
Definition: WKSContentListener.cpp:283
Definition: WKSContentListener.h:56
WPSParagraph const & getParagraph() const 
returns the actual paragraph 
Definition: WKSContentListener.cpp:288
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:217
bool isValueSet() const 
returns true if the value has been setted 
Definition: WKSContentListener.h:112
WKSContentListener & operator=(const WKSContentListener &)
void _closeFrame()
Definition: WKSContentListener.cpp:664
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:131
double m_doubleValue
value ( if type==F_Double ) 
Definition: WKSContentListener.h:77
shared_ptr< WKSContentParsingState > m_ps
Definition: WKSContentListener.h:246
SubDocumentType
Definition: libwps_internal.h:239
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:81
void closeSheetCell()
close a cell 
Definition: WKSContentListener.cpp:1076
~CellContent()
destructor 
Definition: WKSContentListener.h:93
Definition: WKSContentListener.h:56
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:551
void _openPageSpan()
Definition: WKSContentListener.cpp:1093
bool empty() const 
returns true if the cell has no content 
Definition: WKSContentListener.h:98
void setFont(const WPSFont &font)
set the actual font 
Definition: WKSContentListener.cpp:261
Definition: WKSContentListener.h:56
void _endSubDocument()
Definition: WKSContentListener.cpp:858
Vec2i m_position[2]
cell position ( if type==F_Cell or F_CellList ) 
Definition: WKSContentListener.h:79
void setDocumentLanguage(int lcid)
Definition: WKSContentListener.cpp:323
void _popParsingState()
resets the previous parsing state 
Definition: WKSContentListener.cpp:1182
void setValue(double value)
sets the double value 
Definition: WKSContentListener.h:106
void startDocument()
Definition: WKSContentListener.cpp:331
void _insertBreakIfNecessary(librevenge::RVNGPropertyList &propList)
Definition: WKSContentListener.cpp:248
WPSFont const & getFont() const 
returns the actual font 
Definition: WKSContentListener.cpp:275
virtual ~WKSContentListener()
Definition: WKSContentListener.cpp:161
the document state 
Definition: WKSContentListener.cpp:47
Vec2< int > Vec2i
Vec2 of int. 
Definition: libwps_internal.h:712
shared_ptr< WKSContentParsingState > _pushParsingState()
creates a new parsing state (copy of the actual state) 
Definition: WKSContentListener.cpp:1162
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:565
librevenge::RVNGSpreadsheetInterface * m_documentInterface
Definition: WKSContentListener.h:248
void _closeParagraph()
Definition: WKSContentListener.cpp:391
small class use to define a sheet cell content 
Definition: WKSContentListener.h:86
void _closePageSpan()
Definition: WKSContentListener.cpp:1145
void _flushText()
Definition: WKSContentListener.cpp:477
void _closeSpan()
Definition: WKSContentListener.cpp:441
WPSEntry m_textEntry
the cell string 
Definition: WKSContentListener.h:133
small class use to define a embedded object 
Definition: libwps_internal.h:431
Definition: WPSParagraph.h:37
Definition: WPSPageSpan.h:38
void openSheetRow(float h, librevenge::RVNGUnit unit, bool headerRow=false, int numRepeated=1)
open a row with given height. 
Definition: WKSContentListener.cpp:927
void setParagraph(const WPSParagraph ¶)
sets the actual paragraph 
Definition: WKSContentListener.cpp:293
basic class to store an entry in a file This contained : 
Definition: WPSEntry.h:37
void insertComment(WPSSubDocumentPtr &subDocument)
adds comment 
Definition: WKSContentListener.cpp:511
ContentType m_contentType
the content type ( by default unknown ) 
Definition: WKSContentListener.h:127
void insertUnicode(uint32_t character)
adds an unicode character 
Definition: WKSContentListener.cpp:180
Class to define the position of an object (textbox, picture, ..) in the document. ...
Definition: WPSPosition.h:39
Definition: WKSContentListener.h:56
small class use to define a formula instruction 
Definition: WKSContentListener.h:54
void _startSubDocument()
Definition: WKSContentListener.cpp:852
void insertEOL(bool softBreak=false)
Definition: WKSContentListener.cpp:196
FormulaInstruction()
constructor 
Definition: WKSContentListener.h:58
ContentType
the different types of cell's field 
Definition: WKSContentListener.h:89
Definition: WKSContentListener.h:50
void insertBreak(const uint8_t breakType)
Definition: WKSContentListener.cpp:229
Vec2< bool > Vec2b
Vec2 of bool. 
Definition: libwps_internal.h:710
void openSheetCell(WPSCell const &cell, CellContent const &content, int numRepeated=1)
low level function to define a cell. 
Definition: WKSContentListener.cpp:963
bool hasText() const 
returns true if the text is set 
Definition: WKSContentListener.h:117