#include <WPSContentListener.h>
Public Types | |
enum | NoteType { FOOTNOTE, ENDNOTE } |
defines the footnote type More... | |
Public Member Functions | |
WPSContentListener (std::vector< WPSPageSpan > const &pageList, librevenge::RVNGTextInterface *documentInterface) | |
virtual | ~WPSContentListener () |
void | setDocumentLanguage (int lcid) |
void | setMetaData (const librevenge::RVNGPropertyList &list) |
void | startDocument () |
void | endDocument () |
void | handleSubDocument (WPSSubDocumentPtr &subDocument, libwps::SubDocumentType subDocumentType) |
bool | isHeaderFooterOpened () const |
void | insertCharacter (uint8_t character) |
adds a basic character, .. More... | |
void | insertUnicode (uint32_t character) |
adds an unicode character More... | |
void | insertUnicodeString (librevenge::RVNGString const &str) |
adds a unicode string More... | |
void | insertTab () |
adds an unicode character to a string ( with correct encoding ). More... | |
void | insertEOL (bool softBreak=false) |
void | insertBreak (const uint8_t breakType) |
void | setFont (const WPSFont &font) |
set the actual font More... | |
WPSFont const & | getFont () const |
returns the actual font More... | |
bool | isParagraphOpened () const |
returns true if a paragraph or a list is opened More... | |
void | setParagraph (const WPSParagraph ¶) |
sets the actual paragraph More... | |
WPSParagraph const & | getParagraph () const |
returns the actual paragraph More... | |
void | setCurrentList (shared_ptr< WPSList > list) |
function to set the actual list More... | |
shared_ptr< WPSList > | getCurrentList () const |
returns the current list More... | |
void | insertField (WPSField const &field) |
adds a field More... | |
void | insertNote (const NoteType noteType, WPSSubDocumentPtr &subDocument) |
adds note More... | |
void | insertLabelNote (const NoteType noteType, librevenge::RVNGString const &label, WPSSubDocumentPtr &subDocument) |
adds a label note More... | |
void | insertComment (WPSSubDocumentPtr &subDocument) |
adds comment More... | |
void | insertPicture (WPSPosition const &pos, const librevenge::RVNGBinaryData &binaryData, std::string type="image/pict", librevenge::RVNGPropertyList frameExtras=librevenge::RVNGPropertyList()) |
adds a picture in given position More... | |
void | insertObject (WPSPosition const &pos, const WPSEmbeddedObject &obj, librevenge::RVNGPropertyList frameExtras=librevenge::RVNGPropertyList()) |
adds an object with replacement picture in given position More... | |
void | insertTextBox (WPSPosition const &pos, WPSSubDocumentPtr subDocument, librevenge::RVNGPropertyList frameExtras=librevenge::RVNGPropertyList()) |
adds a textbox in given position More... | |
bool | openGroup (WPSPosition const &pos) |
open a group More... | |
void | closeGroup () |
close a group More... | |
void | openTable (std::vector< float > const &colWidth, librevenge::RVNGUnit unit) |
open a table More... | |
void | closeTable () |
closes this table More... | |
void | openTableRow (float h, librevenge::RVNGUnit unit, bool headerRow=false) |
open a row with given height. More... | |
void | closeTableRow () |
closes this row More... | |
void | openTableCell (WPSCell const &cell, librevenge::RVNGPropertyList const &extras=librevenge::RVNGPropertyList()) |
low level function to define a cell. More... | |
void | closeTableCell () |
close a cell More... | |
void | addEmptyTableCell (Vec2i const &pos, Vec2i span=Vec2i(1, 1)) |
add empty cell More... | |
bool | isSectionOpened () const |
returns true if a section is opened More... | |
int | getSectionNumColumns () const |
returns the actual number of columns ( or 1 if no section is opened ) More... | |
bool | openSection (std::vector< int > colsWidth=std::vector< int >(), librevenge::RVNGUnit unit=librevenge::RVNG_INCH) |
open a section if possible More... | |
bool | closeSection () |
close a section More... | |
![]() | |
WPSListener () | |
virtual | ~WPSListener () |
Protected Member Functions | |
void | _openSection () |
void | _closeSection () |
void | _openPageSpan () |
void | _closePageSpan () |
void | _updatePageSpanDependent (bool set) |
void | _startSubDocument () |
void | _endSubDocument () |
void | _handleFrameParameters (librevenge::RVNGPropertyList &propList, WPSPosition const &pos) |
bool | _openFrame (WPSPosition const &pos, librevenge::RVNGPropertyList extras=librevenge::RVNGPropertyList()) |
void | _closeFrame () |
void | _openParagraph () |
void | _closeParagraph () |
void | _appendParagraphProperties (librevenge::RVNGPropertyList &propList, const bool isListElement=false) |
void | _resetParagraphState (const bool isListElement=false) |
void | _openListElement () |
void | _closeListElement () |
void | _changeList () |
void | _openSpan () |
void | _closeSpan () |
void | _flushText () |
void | _flushDeferredTabs () |
void | _insertBreakIfNecessary (librevenge::RVNGPropertyList &propList) |
shared_ptr< WPSContentParsingState > | _pushParsingState () |
creates a new parsing state (copy of the actual state) More... | |
void | _popParsingState () |
resets the previous parsing state More... | |
Protected Attributes | |
shared_ptr< WPSDocumentParsingState > | m_ds |
shared_ptr< WPSContentParsingState > | m_ps |
std::vector< shared_ptr< WPSContentParsingState > > | m_psStack |
librevenge::RVNGTextInterface * | m_documentInterface |
Private Member Functions | |
WPSContentListener (const WPSContentListener &) | |
WPSContentListener & | operator= (const WPSContentListener &) |
WPSContentListener::WPSContentListener | ( | std::vector< WPSPageSpan > const & | pageList, |
librevenge::RVNGTextInterface * | documentInterface | ||
) |
|
virtual |
|
private |
|
protected |
Referenced by _openListElement(), _openParagraph(), and _resetParagraphState().
|
protected |
Referenced by _closeSection(), _endSubDocument(), _openSpan(), closeTableCell(), endDocument(), and insertLabelNote().
|
protected |
Referenced by insertObject(), insertPicture(), and insertTextBox().
|
protected |
Referenced by _closeParagraph().
|
protected |
Referenced by _closeListElement(), _closeParagraph(), endDocument(), and insertBreak().
|
protected |
Referenced by _changeList(), _closeSection(), _endSubDocument(), closeTableCell(), endDocument(), insertBreak(), insertEOL(), insertLabelNote(), and openTable().
|
protected |
Referenced by _closePageSpan(), _openListElement(), _openParagraph(), closeSection(), endDocument(), and handleSubDocument().
|
protected |
Referenced by _closeListElement(), _closeParagraph(), _flushDeferredTabs(), insertComment(), insertLabelNote(), and setFont().
|
protected |
Referenced by closeGroup(), closeTable(), and handleSubDocument().
|
protected |
Referenced by insertCharacter(), insertEOL(), insertTab(), insertUnicode(), and insertUnicodeString().
|
protected |
Referenced by _closeSpan(), _openFrame(), insertComment(), insertEOL(), insertField(), insertLabelNote(), insertTab(), and openGroup().
|
protected |
Referenced by _closeFrame(), _openFrame(), and openGroup().
|
protected |
Referenced by _appendParagraphProperties().
|
protected |
Referenced by insertObject(), insertPicture(), and insertTextBox().
|
protected |
Referenced by _openSpan().
|
protected |
Referenced by _openSection().
|
protected |
Referenced by _openFrame(), _openSpan(), insertComment(), insertLabelNote(), and openGroup().
|
protected |
Referenced by _changeList(), _openListElement(), _openParagraph(), and openSection().
|
protected |
|
protected |
resets the previous parsing state
Referenced by closeGroup(), closeTable(), and handleSubDocument().
|
protected |
creates a new parsing state (copy of the actual state)
Referenced by handleSubDocument(), openGroup(), and openTable().
|
protected |
Referenced by _openListElement(), and _openParagraph().
|
protected |
Referenced by handleSubDocument(), openGroup(), and openTable().
|
protected |
Referenced by _openPageSpan(), and WPSContentListener().
add empty cell
|
virtual |
close a group
Implements WPSListener.
bool WPSContentListener::closeSection | ( | ) |
close a section
void WPSContentListener::closeTable | ( | ) |
closes this table
Referenced by _endSubDocument(), and endDocument().
void WPSContentListener::closeTableCell | ( | ) |
close a cell
Referenced by addEmptyTableCell(), openTableCell(), and WPS8TableInternal::Cell::send().
void WPSContentListener::closeTableRow | ( | ) |
closes this row
void WPSContentListener::endDocument | ( | ) |
shared_ptr< WPSList > WPSContentListener::getCurrentList | ( | ) | const |
returns the current list
Referenced by setParagraph().
|
virtual |
returns the actual font
Implements WPSListener.
|
virtual |
returns the actual paragraph
Implements WPSListener.
int WPSContentListener::getSectionNumColumns | ( | ) | const |
returns the actual number of columns ( or 1 if no section is opened )
void WPSContentListener::handleSubDocument | ( | WPSSubDocumentPtr & | subDocument, |
libwps::SubDocumentType | subDocumentType | ||
) |
Referenced by insertComment(), insertLabelNote(), insertTextBox(), and WPSPageSpan::sendHeaderFooters().
|
virtual |
Implements WPSListener.
|
virtual |
adds a basic character, ..
Implements WPSListener.
void WPSContentListener::insertComment | ( | WPSSubDocumentPtr & | subDocument | ) |
adds comment
|
virtual |
Implements WPSListener.
|
virtual |
adds a field
Implements WPSListener.
void WPSContentListener::insertLabelNote | ( | const NoteType | noteType, |
librevenge::RVNGString const & | label, | ||
WPSSubDocumentPtr & | subDocument | ||
) |
adds a label note
Must not happen excepted in corrupted document, so we do the minimum. Note that we have no choice, either we begin by closing the paragraph, ... or we reprogram handleSubDocument.
Referenced by insertNote().
void WPSContentListener::insertNote | ( | const NoteType | noteType, |
WPSSubDocumentPtr & | subDocument | ||
) |
adds note
void WPSContentListener::insertObject | ( | WPSPosition const & | pos, |
const WPSEmbeddedObject & | obj, | ||
librevenge::RVNGPropertyList | frameExtras = librevenge::RVNGPropertyList() |
||
) |
adds an object with replacement picture in given position
void WPSContentListener::insertPicture | ( | WPSPosition const & | pos, |
const librevenge::RVNGBinaryData & | binaryData, | ||
std::string | type = "image/pict" , |
||
librevenge::RVNGPropertyList | frameExtras = librevenge::RVNGPropertyList() |
||
) |
adds a picture in given position
Referenced by insertTextBox().
|
virtual |
adds an unicode character to a string ( with correct encoding ).
Implements WPSListener.
void WPSContentListener::insertTextBox | ( | WPSPosition const & | pos, |
WPSSubDocumentPtr | subDocument, | ||
librevenge::RVNGPropertyList | frameExtras = librevenge::RVNGPropertyList() |
||
) |
adds a textbox in given position
Referenced by insertComment().
|
virtual |
adds an unicode character
by convention if character=0xfffd(undef), no character is added
Implements WPSListener.
Referenced by insertCharacter().
|
virtual |
bool WPSContentListener::isHeaderFooterOpened | ( | ) | const |
|
virtual |
returns true if a paragraph or a list is opened
Implements WPSListener.
bool WPSContentListener::isSectionOpened | ( | ) | const |
returns true if a section is opened
|
virtual |
open a group
Implements WPSListener.
bool WPSContentListener::openSection | ( | std::vector< int > | colsWidth = std::vector<int>() , |
librevenge::RVNGUnit | unit = librevenge::RVNG_INCH |
||
) |
open a section if possible
void WPSContentListener::openTable | ( | std::vector< float > const & | colWidth, |
librevenge::RVNGUnit | unit | ||
) |
open a table
void WPSContentListener::openTableCell | ( | WPSCell const & | cell, |
librevenge::RVNGPropertyList const & | extras = librevenge::RVNGPropertyList() |
||
) |
low level function to define a cell.
cell | the cell position, alignement, ... |
extras | to be used to pass extra data, for instance spreadsheet data |
Referenced by WPS8TableInternal::Cell::send().
void WPSContentListener::openTableRow | ( | float | h, |
librevenge::RVNGUnit | unit, | ||
bool | headerRow = false |
||
) |
open a row with given height.
If h<0, use min-row-heigth
|
private |
void WPSContentListener::setCurrentList | ( | shared_ptr< WPSList > | list | ) |
function to set the actual list
Referenced by setParagraph().
|
virtual |
Implements WPSListener.
|
virtual |
set the actual font
Implements WPSListener.
void WPSContentListener::setMetaData | ( | const librevenge::RVNGPropertyList & | list | ) |
|
virtual |
sets the actual paragraph
Implements WPSListener.
void WPSContentListener::startDocument | ( | ) |
Referenced by _openPageSpan().
|
protected |
Referenced by _changeList(), _closeFrame(), _closeListElement(), _closePageSpan(), _closeParagraph(), _closeSection(), _closeSpan(), _flushDeferredTabs(), _flushText(), _openFrame(), _openListElement(), _openPageSpan(), _openParagraph(), _openSection(), _openSpan(), addEmptyTableCell(), closeGroup(), closeTable(), closeTableCell(), closeTableRow(), endDocument(), insertComment(), insertEOL(), insertField(), insertLabelNote(), insertObject(), insertPicture(), insertTextBox(), openGroup(), openTable(), openTableCell(), openTableRow(), and startDocument().
|
protected |
|
protected |
Referenced by _appendParagraphProperties(), _changeList(), _closeFrame(), _closeListElement(), _closePageSpan(), _closeParagraph(), _closeSection(), _closeSpan(), _endSubDocument(), _flushDeferredTabs(), _flushText(), _handleFrameParameters(), _insertBreakIfNecessary(), _openFrame(), _openListElement(), _openPageSpan(), _openParagraph(), _openSection(), _openSpan(), _popParsingState(), _pushParsingState(), _resetParagraphState(), _startSubDocument(), addEmptyTableCell(), closeGroup(), closeSection(), closeTable(), closeTableCell(), closeTableRow(), endDocument(), getCurrentList(), getFont(), getParagraph(), getSectionNumColumns(), handleSubDocument(), insertBreak(), insertCharacter(), insertComment(), insertEOL(), insertLabelNote(), insertNote(), insertTab(), insertUnicode(), insertUnicodeString(), isParagraphOpened(), isSectionOpened(), openGroup(), openSection(), openTable(), openTableCell(), openTableRow(), setCurrentList(), setFont(), and setParagraph().
|
protected |
Referenced by _popParsingState(), and _pushParsingState().