Go to the documentation of this file.
25 #ifndef WKSCONTENTLISTENER_H
26 #define WKSCONTENTLISTENER_H
30 #include <librevenge/librevenge.h>
142 static bool double2Date(
double val,
int &Y,
int &M,
int &D);
144 static bool double2Time(
double val,
int &H,
int &M,
int &S);
158 WKSContentListener(std::vector<WPSPageSpan>
const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface);
180 void insertEOL(
bool softBreak=false) final;
std::shared_ptr< WKSContentParsingState > m_ps
Definition: WKSContentListener.h:274
@ F_Text
Definition: WKSContentListener.h:59
@ XLeft
Definition: WPSPosition.h:47
void closeGroup() final
close a group (not implemented)
Definition: WKSContentListener.cpp:714
WPSParagraph m_paragraph
Definition: WKSContentListener.cpp:111
@ WRunThrough
Definition: WPSPosition.h:45
virtual void parse(std::shared_ptr< WKSContentListener > &listener, libwps::SubDocumentType subDocumentType)=0
virtual parse function
WKSContentParsingState()
Definition: WKSContentListener.cpp:135
void sendHeaderFooters(WPSContentListener *listener, librevenge::RVNGTextInterface *documentInterface)
Definition: WPSPageSpan.cpp:155
void _appendParagraphProperties(librevenge::RVNGPropertyList &propList, const bool isListElement=false)
Definition: WKSContentListener.cpp:446
WKSContentParsingState & operator=(const WKSContentParsingState &)=delete
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
a field
Definition: libwps_internal.h:463
WPSFont m_font
Definition: WKSContentListener.cpp:110
librevenge::RVNGString m_fileName
the file name (external reference)
Definition: WKSContentListener.h:96
std::vector< FormulaInstruction > m_formula
the formula list of instruction
Definition: WKSContentListener.h:155
Type getType() const
returns the type corresponding to a shape
Definition: WPSGraphicShape.h:181
@ F_Long
Definition: WKSContentListener.h:59
@ C_FORMULA
Definition: WKSContentListener.h:102
void insertBreak(const uint8_t breakType) final
Definition: WKSContentListener.cpp:253
bool m_inSubDocument
Definition: WKSContentListener.cpp:125
@ F_Cell
Definition: WKSContentListener.h:59
CellContent()
constructor
Definition: WKSContentListener.h:104
librevenge::RVNGPropertyList getPropertyList() const
return a proplist corresponding to a instruction
Definition: WKSContentListener.cpp:1312
@ XCenter
Definition: WPSPosition.h:47
bool m_isSheetRowOpened
Definition: WKSContentListener.cpp:122
void _startSubDocument()
Definition: WKSContentListener.cpp:983
void closeSheetCell()
close a cell
Definition: WKSContentListener.cpp:1193
AnchorTo m_anchorTo
anchor position
Definition: WPSPosition.h:239
std::map< WPSCellFormat, int, WPSCellFormat::CompareFormat > m_numberingIdMap
list of document actually open
Definition: WKSContentListener.cpp:63
double getFormLength() const
Definition: WPSPageSpan.h:57
double m_pageMarginBottom
Definition: WKSContentListener.cpp:105
bool openGroup(WPSPosition const &pos) final
open a group (not implemented)
Definition: WKSContentListener.cpp:690
#define WPS_SUBSCRIPT_BIT
Definition: libwps_internal.h:500
librevenge::RVNGString m_textBuffer
Definition: WKSContentListener.cpp:107
#define WPS_OVERLINE_BIT
Definition: libwps_internal.h:515
#define WPS_UNDERLINE_BIT
Definition: libwps_internal.h:508
~WKSDocumentParsingState()
destructor
Definition: WKSContentListener.cpp:80
int m_currentPageNumber
Definition: WKSContentListener.cpp:96
Definition: libwps_internal.cpp:39
@ F_Operator
Definition: WKSContentListener.h:59
bool m_isSpanOpened
Definition: WKSContentListener.cpp:118
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
void setDocumentLanguage(int lcid) final
Definition: WKSContentListener.cpp:347
int m_sheetId[2]
the sheet id
Definition: WKSContentListener.h:94
@ F_Double
Definition: WKSContentListener.h:59
double m_longValue
value ( if type==F_Long )
Definition: WKSContentListener.h:81
bool hasText() const
returns true if the text is set
Definition: WKSContentListener.h:137
#define WPS_SUPERSCRIPT_BIT
Definition: libwps_internal.h:499
@ Line
Definition: WPSGraphicShape.h:38
int m_numDeferredTabs
Definition: WKSContentListener.cpp:108
unsigned m_currentPage
Definition: WKSContentListener.cpp:94
Vec2f const & naturalSize() const
returns the natural size (if known)
Definition: WPSPosition.h:126
librevenge::RVNGString m_name
the chart name
Definition: WKSChart.h:346
double getMarginLeft() const
Definition: WPSPageSpan.h:69
@ F_Function
Definition: WKSContentListener.h:59
void _flushText()
Definition: WKSContentListener.cpp:511
~WKSContentListener() final
Definition: WKSContentListener.cpp:185
static bool double2Time(double val, int &H, int &M, int &S)
conversion beetween double: second since 0:00 and time
Definition: WKSContentListener.cpp:1465
void insertChart(WPSPosition const &pos, WKSChart const &chart, WPSGraphicStyle const &style=WPSGraphicStyle::emptyStyle())
adds a chart in given position
Definition: WKSContentListener.cpp:580
void setParagraph(const WPSParagraph ¶) final
sets the actual paragraph
Definition: WKSContentListener.cpp:317
What
Definition: WKSContentListener.h:59
void endDocument()
Definition: WKSContentListener.cpp:381
Wrapping m_wrapping
Wrapping.
Definition: WPSPosition.h:247
friend std::ostream & operator<<(std::ostream &o, FormulaInstruction const &inst)
operator<<
Definition: WKSContentListener.cpp:1371
void _insertBreakIfNecessary(librevenge::RVNGPropertyList &propList)
Definition: WKSContentListener.cpp:272
librevenge::RVNGString m_anchorCellName
the anchor cell name
Definition: WPSPosition.h:241
void closeSheet()
closes this sheet
Definition: WKSContentListener.cpp:1034
void _closeSpan()
Definition: WKSContentListener.cpp:475
@ C_Path
Definition: WPSGraphicShape.h:40
double m_doubleValue
value ( if type==F_Double )
Definition: WKSContentListener.h:83
~WKSContentParsingState()
Definition: WKSContentListener.cpp:173
bool m_isNote
Definition: WKSContentListener.cpp:127
int m_numPagesRemainingInSpan
Definition: WKSContentListener.cpp:95
bool m_isParagraphOpened
Definition: WKSContentListener.cpp:119
int m_languageId
the language (simplified locale name id) if known
Definition: WPSFont.h:91
define the font properties
Definition: WPSFont.h:37
void insertComment(WPSSubDocumentPtr &subDocument)
adds comment
Definition: WKSContentListener.cpp:545
void _closeParagraph()
Definition: WKSContentListener.cpp:425
double m_pageMarginTop
Definition: WKSContentListener.cpp:104
@ Char
Definition: WPSPosition.h:43
bool valid(bool checkId=false) const
returns true if the zone length is positive
Definition: WPSEntry.h:87
Definition: WPSParagraph.h:38
bool m_isHeaderFooterStarted
Definition: WKSContentListener.cpp:59
basic class to store an entry in a file This contained :
Definition: WPSEntry.h:39
void handleSubDocument(WPSSubDocumentPtr &subDocument, libwps::SubDocumentType subDocumentType)
Definition: WKSContentListener.cpp:932
Vec2< int > Vec2i
Vec2 of int.
Definition: libwps_internal.h:702
WKSContentParsingState(const WKSContentParsingState &)=delete
@ DOC_TEXT_BOX
Definition: libwps_internal.h:248
@ CharBaseLine
Definition: WPSPosition.h:43
#define WPS_PAGE_BREAK
Definition: libwps_internal.h:519
bool m_isFrameOpened
Definition: WKSContentListener.cpp:92
librevenge::RVNGSpreadsheetInterface * m_documentInterface
Definition: WKSContentListener.h:276
Vec2f const & origin() const
return the frame origin
Definition: WPSPosition.h:116
Command addTo(Vec2f const &orig, bool asSurface, librevenge::RVNGPropertyList &propList) const
updates the propList to send to an interface
Definition: WPSGraphicShape.cpp:396
What m_type
the type
Definition: WKSContentListener.h:77
double getFormWidth() const
Definition: WPSPageSpan.h:61
bool hasSurface() const
returns true if the interior surface is defined
Definition: WPSGraphicStyle.h:277
Vec2i m_position[2]
cell position ( if type==F_Cell or F_CellList )
Definition: WKSContentListener.h:85
static bool double2Date(double val, int &Y, int &M, int &D)
conversion beetween double days since 1900 and date
Definition: WKSContentListener.cpp:1409
@ C_Polygon
Definition: WPSGraphicShape.h:40
a structure used to define a picture shape
Definition: WPSGraphicShape.h:35
double m_value
the cell value
Definition: WKSContentListener.h:149
void startDocument()
Definition: WKSContentListener.cpp:365
double m_pageMarginRight
Definition: WKSContentListener.cpp:103
void insertCharacter(uint8_t character) final
adds a basic character, ..
Definition: WKSContentListener.cpp:192
bool addTo(librevenge::RVNGPropertyList &propList) const
add the link property to proplist (if possible)
Definition: libwps_internal.cpp:530
void insertField(WPSField const &field) final
adds a field
Definition: WKSContentListener.cpp:325
void insertUnicode(uint32_t character) final
adds an unicode character
Definition: WKSContentListener.cpp:204
~CellContent()
destructor
Definition: WKSContentListener.h:113
void _openParagraph()
Definition: WKSContentListener.cpp:403
float getInvUnitScale(librevenge::RVNGUnit unt) const
returns a float which can be used to scale some data in object unit
Definition: WPSPosition.h:174
Definition: libwps_internal.h:152
@ C_UNKNOWN
Definition: WKSContentListener.h:102
void _flushDeferredTabs()
Definition: WKSContentListener.cpp:488
void _openPageSpan()
Definition: WKSContentListener.cpp:1210
Type m_type
the type
Definition: libwps_internal.h:484
void _openSpan()
Definition: WKSContentListener.cpp:456
Vec2f const & size() const
returns the frame size
Definition: WPSPosition.h:121
a class used to store a chart associated to a spreadsheet ....
Definition: WKSChart.h:46
void sendChart(WKSContentListenerPtr &listener, librevenge::RVNGSpreadsheetInterface *interface) const
send the chart to the listener
Definition: WKSChart.cpp:186
#define WPS_DEBUG_MSG(M)
Definition: libwps_internal.h:134
@ YBottom
Definition: WPSPosition.h:49
#define WPS_FALLTHROUGH
fall through attributes
Definition: libwps_internal.h:82
class to store the paragraph properties
Definition: WPSParagraph.h:58
void _resetParagraphState(const bool isListElement=false)
Definition: WKSContentListener.cpp:439
T x() const
first element
Definition: libwps_internal.h:542
@ C_Polyline
Definition: WPSGraphicShape.h:40
librevenge::RVNGString m_sheetName[2]
the sheet name
Definition: WKSContentListener.h:89
CellContent(CellContent const &)=default
void getPageProperty(librevenge::RVNGPropertyList &pList) const
Definition: WPSPageSpan.cpp:282
@ YFull
Definition: WPSPosition.h:49
@ C_Rectangle
Definition: WPSGraphicShape.h:40
@ DOC_COMMENT_ANNOTATION
Definition: libwps_internal.h:248
void addFrameTo(librevenge::RVNGPropertyList &pList) const
add all the frame parameters to propList: the background and the borders
Definition: WPSGraphicStyle.cpp:369
void appendUnicode(uint32_t val, librevenge::RVNGString &buffer)
adds an unicode character to a string ( with correct encoding ).
Definition: libwps_internal.cpp:836
CellContent & operator=(CellContent const &)=default
bool m_valueSet
true if the value has been set
Definition: WKSContentListener.h:151
SubDocumentType
Definition: libwps_internal.h:248
@ PORTRAIT
Definition: WPSPageSpan.h:41
small class use to define a formula instruction
Definition: WKSContentListener.h:58
virtual class for content listener
Definition: WPSListener.h:37
double m_pageMarginLeft
Definition: WKSContentListener.cpp:102
@ YCenter
Definition: WPSPosition.h:49
bool m_isGroupOpened
a flag to know if openGroup was called
Definition: WKSContentListener.cpp:113
librevenge::RVNGString getString() const
returns a string corresponding to the field (if possible) */
Definition: libwps_internal.cpp:584
the document state
Definition: WKSContentListener.cpp:50
@ C_Ellipse
Definition: WPSGraphicShape.h:40
void _closeFrame()
Definition: WKSContentListener.cpp:783
a structure used to define a picture style
Definition: WPSGraphicStyle.h:38
void insertEOL(bool softBreak=false) final
Definition: WKSContentListener.cpp:220
@ YTop
Definition: WPSPosition.h:49
std::vector< WPSPageSpan > m_pageList
Definition: WKSContentListener.cpp:56
void addTo(librevenge::RVNGPropertyList &propList) const
add to the propList
Definition: WPSCell.cpp:534
FormulaInstruction()
constructor
Definition: WKSContentListener.h:61
@ Paragraph
Definition: WPSPosition.h:43
int page() const
returns the frame page
Definition: WPSPosition.h:111
@ DOC_CHART_ZONE
Definition: libwps_internal.h:248
void openSheetRow(WPSRowFormat const &f, int numRepeated=1)
open a row
Definition: WKSContentListener.cpp:1049
double m_size
font size
Definition: WPSFont.h:83
void insertTextBox(WPSPosition const &pos, WPSSubDocumentPtr subDocument, WPSGraphicStyle const &frameStyle=WPSGraphicStyle::emptyStyle())
adds a textbox in given position
Definition: WKSContentListener.cpp:607
std::shared_ptr< WPSSubDocument > WPSSubDocumentPtr
shared pointer to WPSSubDocument
Definition: libwps_internal.h:111
small class use to define a embedded object
Definition: libwps_internal.h:1077
bool m_isParagraphColumnBreak
Definition: WKSContentListener.cpp:115
void openSheetCell(WPSCell const &cell, CellContent const &content, int numRepeated=1)
low level function to define a cell.
Definition: WKSContentListener.cpp:1080
librevenge::RVNGUnit unit() const
returns the unit
Definition: WPSPosition.h:131
WKSDocumentParsingState(std::vector< WPSPageSpan > const &pageList)
constructor
Definition: WKSContentListener.cpp:70
WPSEntry m_textEntry
the cell string
Definition: WKSContentListener.h:153
bool isParagraphOpened() const final
returns true if a paragraph or a list is opened
Definition: WKSContentListener.cpp:307
void insertTab() final
adds an unicode character to a string ( with correct encoding ).
Definition: WKSContentListener.cpp:241
the spreadsheet state
Definition: WKSContentListener.cpp:87
@ ParagraphContent
Definition: WPSPosition.h:43
ContentType m_contentType
the content type ( by default unknown )
Definition: WKSContentListener.h:147
WPSParagraph const & getParagraph() const final
returns the actual paragraph
Definition: WKSContentListener.cpp:312
a structure used to defined the cell position, and a format
Definition: WPSCell.h:291
bool m_isDocumentStarted
Definition: WKSContentListener.cpp:59
Basic class used to store a spreadsheet sub document.
Definition: WKSSubDocument.h:36
bool m_isSheetOpened
Definition: WKSContentListener.cpp:121
@ C_Bad
Definition: WPSGraphicShape.h:40
double getMarginTop() const
Definition: WPSPageSpan.h:77
@ DOC_NONE
Definition: libwps_internal.h:248
std::shared_ptr< WKSDocumentParsingState > m_ds
Definition: WKSContentListener.h:273
@ XRight
Definition: WPSPosition.h:47
librevenge::RVNGPropertyList m_metaData
Definition: WKSContentListener.cpp:57
@ Cell
Definition: WPSPosition.h:43
int getPageSpan() const
Definition: WPSPageSpan.h:105
void closeSheetRow()
closes this row
Definition: WKSContentListener.cpp:1069
Definition: WPSPageSpan.h:39
void _handleFrameParameters(librevenge::RVNGPropertyList &propList, WPSPosition const &pos)
Definition: WKSContentListener.cpp:795
@ Page
Definition: WPSPosition.h:43
bool m_isPageSpanOpened
Definition: WKSContentListener.cpp:91
std::string m_content
the content ( if type == F_Operator or type = F_Function or type==F_Text)
Definition: WKSContentListener.h:79
double getMarginBottom() const
Definition: WPSPageSpan.h:81
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
void _popParsingState()
resets the previous parsing state
Definition: WKSContentListener.cpp:1300
@ DOC_TABLE
Definition: libwps_internal.h:248
ContentType
the different types of cell's field
Definition: WKSContentListener.h:102
std::vector< std::shared_ptr< WKSContentParsingState > > m_psStack
Definition: WKSContentListener.h:275
std::shared_ptr< WKSContentParsingState > _pushParsingState()
creates a new parsing state (copy of the actual state)
Definition: WKSContentListener.cpp:1279
WKSDocumentParsingState & operator=(const WKSDocumentParsingState &)=delete
double getMarginRight() const
Definition: WPSPageSpan.h:73
void addTo(librevenge::RVNGPropertyList &propList) const
add to the propList
Definition: WPSFont.cpp:85
bool _openFrame(WPSPosition const &pos, WPSGraphicStyle const &style)
Definition: WKSContentListener.cpp:726
Class to define the position of an object (textbox, picture, ..) in the document.
Definition: WPSPosition.h:40
@ XFull
Definition: WPSPosition.h:47
bool addTo(librevenge::RVNGPropertyList &propList) const
add the link property to proplist
Definition: libwps_internal.cpp:784
bool empty() const
returns true if the cell has no content
Definition: WKSContentListener.h:118
a small structure used to store the informations about a list
Definition: WPSList.h:37
void _endSubDocument()
Definition: WKSContentListener.cpp:989
YPos m_yPos
Y relative position.
Definition: WPSPosition.h:245
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
Vec2b m_positionRelative[2]
relative cell position ( if type==F_Cell or F_CellList )
Definition: WKSContentListener.h:87
@ C_TEXT
Definition: WKSContentListener.h:102
WKSContentListener(std::vector< WPSPageSpan > const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface)
Definition: WKSContentListener.cpp:177
bool isValueSet() const
returns true if the value has been setted
Definition: WKSContentListener.h:132
libwps::SubDocumentType m_subDocumentType
Definition: WKSContentListener.cpp:128
@ C_NONE
Definition: WKSContentListener.h:102
#define WPS_COLUMN_BREAK
Definition: libwps_internal.h:521
Vec2< bool > Vec2b
Vec2 of bool.
Definition: libwps_internal.h:700
bool m_pageFormOrientationIsPortrait
Definition: WKSContentListener.cpp:100
void setValue(double value)
sets the double value
Definition: WKSContentListener.h:126
Definition: WKSContentListener.h:54
Definition: WPSOLEStream.h:34
small class use to define a sheet cell content
Definition: WKSContentListener.h:100
librevenge::RVNGString m_frameName
the frame name
Definition: WPSGraphicStyle.h:397
void openSheet(std::vector< WPSColumnFormat > const &columns, librevenge::RVNGString const &name="")
open a sheet
Definition: WKSContentListener.cpp:1000
FormOrientation getFormOrientation() const
Definition: WPSPageSpan.h:65
WPSFont const & getFont() const final
returns the actual font
Definition: WKSContentListener.cpp:299
double m_pageFormWidth
Definition: WKSContentListener.cpp:99
void setFont(const WPSFont &font) final
set the actual font
Definition: WKSContentListener.cpp:285
std::ostream & operator<<(std::ostream &o, WKSContentListener::FormulaInstruction const &inst)
Definition: WKSContentListener.cpp:1371
double m_pageFormLength
Definition: WKSContentListener.cpp:98
a noop deleter used to transform a librevenge pointer in a false std::shared_ptr
Definition: libwps_internal.h:72
@ F_CellList
Definition: WKSContentListener.h:59
std::vector< WPSSubDocumentPtr > m_subDocuments
Definition: WKSContentListener.cpp:60
void setMetaData(const librevenge::RVNGPropertyList &list)
Definition: WKSContentListener.cpp:355
bool m_isSheetCellOpened
Definition: WKSContentListener.cpp:123
@ PageContent
Definition: WPSPosition.h:43
T y() const
second element
Definition: libwps_internal.h:547
bool m_isParagraphPageBreak
Definition: WKSContentListener.cpp:116
@ C_NUMBER
Definition: WKSContentListener.h:102
XPos m_xPos
X relative position.
Definition: WPSPosition.h:243
friend std::ostream & operator<<(std::ostream &o, CellContent const &cell)
operator<<
Definition: WKSContentListener.cpp:1477
void _closePageSpan()
Definition: WKSContentListener.cpp:1262
std::string getCellName(Vec2i const &cellPos, Vec2b const &relative)
returns the cell name corresponding to a cell's position
Definition: libwps_internal.cpp:953
librevenge::RVNGString m_name
font name
Definition: WPSFont.h:81
void insertUnicodeString(librevenge::RVNGString const &str) final
adds a unicode string
Definition: WKSContentListener.cpp:213
@ WDynamic
Definition: WPSPosition.h:45
WKSDocumentParsingState(const WKSDocumentParsingState &)=delete
Generated on Sat Aug 10 2024 18:41:18 for libwps by
doxygen 1.8.20