WPSContentListener Class Reference

#include <WPSContentListener.h>

Inheritance diagram for WPSContentListener:
WPSListener

List of all members.

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 startDocument ()
void endDocument ()
void handleSubDocument (WPSSubDocumentPtr &subDocument, libwps::SubDocumentType subDocumentType)
bool isHeaderFooterOpened () const
void insertCharacter (uint8_t character)
 adds a basic character, ..
void insertUnicode (uint32_t character)
 adds an unicode character
void insertUnicodeString (librevenge::RVNGString const &str)
 adds a unicode string
void insertTab ()
void insertEOL (bool softBreak=false)
void insertBreak (const uint8_t breakType)
void setFont (const WPSFont &font)
 set the actual font
WPSFont const & getFont () const
 returns the actual font
bool isParagraphOpened () const
 returns true if a paragraph or a list is opened
void setParagraph (const WPSParagraph &para)
 sets the actual paragraph
WPSParagraph const & getParagraph () const
 returns the actual paragraph
void setCurrentList (shared_ptr< WPSList > list)
 function to set the actual list
shared_ptr< WPSListgetCurrentList () const
 returns the current list
void insertField (FieldType type)
 adds a field type
void insertDateTimeField (char const *format)
 insert a date/time field with given format (see strftime)
void insertNote (const NoteType noteType, WPSSubDocumentPtr &subDocument)
 adds note
void insertLabelNote (const NoteType noteType, librevenge::RVNGString const &label, WPSSubDocumentPtr &subDocument)
 adds a label note
void insertComment (WPSSubDocumentPtr &subDocument)
 adds comment
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
void insertTextBox (WPSPosition const &pos, WPSSubDocumentPtr subDocument, librevenge::RVNGPropertyList frameExtras=librevenge::RVNGPropertyList())
 adds a textbox in given position
void openTable (std::vector< float > const &colWidth, librevenge::RVNGUnit unit)
 open a table
void closeTable ()
 closes this table
void openTableRow (float h, librevenge::RVNGUnit unit, bool headerRow=false)
 open a row with given height.
void closeTableRow ()
 closes this row
void openTableCell (WPSCell const &cell, librevenge::RVNGPropertyList const &extras=librevenge::RVNGPropertyList())
 low level function to define a cell.
void closeTableCell ()
 close a cell
void addEmptyTableCell (Vec2i const &pos, Vec2i span=Vec2i(1, 1))
 add empty cell
bool isSectionOpened () const
 returns true if a section is opened
int getSectionNumColumns () const
 returns the actual number of columns ( or 1 if no section is opened )
bool openSection (std::vector< int > colsWidth=std::vector< int >(), librevenge::RVNGUnit unit=librevenge::RVNG_INCH)
 open a section if possible
bool closeSection ()
 close a section

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)
void _popParsingState ()
 resets the previous parsing state

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 &)
WPSContentListeneroperator= (const WPSContentListener &)

Member Enumeration Documentation

defines the footnote type

Enumerator:
FOOTNOTE 
ENDNOTE 

Constructor & Destructor Documentation

WPSContentListener::WPSContentListener ( std::vector< WPSPageSpan > const &  pageList,
librevenge::RVNGTextInterface *  documentInterface 
)

Member Function Documentation

void WPSContentListener::_appendParagraphProperties ( librevenge::RVNGPropertyList &  propList,
const bool  isListElement = false 
) [protected]

Referenced by _openListElement(), and _openParagraph().

void WPSContentListener::_closeFrame ( ) [protected]

Referenced by _closeParagraph().

Referenced by closeTable(), and handleSubDocument().

void WPSContentListener::_handleFrameParameters ( librevenge::RVNGPropertyList &  propList,
WPSPosition const &  pos 
) [protected]

Referenced by _openFrame().

void WPSContentListener::_insertBreakIfNecessary ( librevenge::RVNGPropertyList &  propList) [protected]
bool WPSContentListener::_openFrame ( WPSPosition const &  pos,
librevenge::RVNGPropertyList  extras = librevenge::RVNGPropertyList() 
) [protected]

Referenced by _openSpan().

void WPSContentListener::_openPageSpan ( ) [protected]

Referenced by _openSection().

resets the previous parsing state

Referenced by closeTable(), and handleSubDocument().

creates a new parsing state (copy of the actual state)

Returns:
the old one

Referenced by handleSubDocument(), and openTable().

void WPSContentListener::_resetParagraphState ( const bool  isListElement = false) [protected]

Referenced by _openListElement(), and _openParagraph().

Referenced by handleSubDocument(), and openTable().

void WPSContentListener::_updatePageSpanDependent ( bool  set) [protected]
void WPSContentListener::addEmptyTableCell ( Vec2i const &  pos,
Vec2i  span = Vec2i(1,1) 
)

add empty cell

close a section

closes this table

Referenced by _endSubDocument(), and endDocument().

closes this row

returns the current list

Referenced by setParagraph().

WPSFont const & WPSContentListener::getFont ( ) const [virtual]

returns the actual font

Implements WPSListener.

WPSParagraph const & WPSContentListener::getParagraph ( ) const [virtual]

returns the actual paragraph

Implements WPSListener.

returns the actual number of columns ( or 1 if no section is opened )

void WPSContentListener::insertBreak ( const uint8_t  breakType) [virtual]

Implements WPSListener.

void WPSContentListener::insertCharacter ( uint8_t  character) [virtual]

adds a basic character, ..

Implements WPSListener.

adds comment

void WPSContentListener::insertDateTimeField ( char const *  format) [virtual]

insert a date/time field with given format (see strftime)

Implements WPSListener.

Referenced by insertField().

void WPSContentListener::insertEOL ( bool  softBreak = false) [virtual]

Implements WPSListener.

adds a field type

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::insertPicture ( WPSPosition const &  pos,
const librevenge::RVNGBinaryData &  binaryData,
std::string  type = "image/pict",
librevenge::RVNGPropertyList  frameExtras = librevenge::RVNGPropertyList() 
)

adds a picture in given position

void WPSContentListener::insertTab ( ) [virtual]

Implements WPSListener.

void WPSContentListener::insertTextBox ( WPSPosition const &  pos,
WPSSubDocumentPtr  subDocument,
librevenge::RVNGPropertyList  frameExtras = librevenge::RVNGPropertyList() 
)

adds a textbox in given position

void WPSContentListener::insertUnicode ( uint32_t  character) [virtual]

adds an unicode character

by convention if character=0xfffd(undef), no character is added

Implements WPSListener.

Referenced by insertCharacter().

void WPSContentListener::insertUnicodeString ( librevenge::RVNGString const &  str) [virtual]

adds a unicode string

Implements WPSListener.

Referenced by insertDateTimeField(), and insertField().

bool WPSContentListener::isParagraphOpened ( ) const [virtual]

returns true if a paragraph or a list is opened

Implements WPSListener.

returns true if a section is opened

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.

Parameters:
cellthe cell position, alignement, ...
extrasto 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

WPSContentListener& WPSContentListener::operator= ( const WPSContentListener ) [private]
void WPSContentListener::setCurrentList ( shared_ptr< WPSList list)

function to set the actual list

Referenced by setParagraph().

void WPSContentListener::setDocumentLanguage ( int  lcid) [virtual]

Implements WPSListener.

void WPSContentListener::setFont ( const WPSFont font) [virtual]

set the actual font

Implements WPSListener.

void WPSContentListener::setParagraph ( const WPSParagraph para) [virtual]

sets the actual paragraph

Implements WPSListener.


Member Data Documentation

std::vector<shared_ptr<WPSContentParsingState> > WPSContentListener::m_psStack [protected]

The documentation for this class was generated from the following files: