MWAWContentListener Class Reference

#include <MWAWContentListener.hxx>

Public Types

enum  BreakType { PageBreak =0, SoftPageBreak, ColumnBreak }
 

Public Member Functions

 MWAWContentListener (MWAWParserState &parserState, std::vector< MWAWPageSpan > const &pageList, WPXDocumentInterface *documentInterface)
 constructor More...
 
virtual ~MWAWContentListener ()
 destructor More...
 
void setDocumentLanguage (std::string locale)
 sets the documents language More...
 
void startDocument ()
 starts the document More...
 
void endDocument (bool sendDelayedSubDoc=true)
 ends the document More...
 
void handleSubDocument (MWAWSubDocumentPtr subDocument, libmwaw::SubDocumentType subDocumentType)
 function called to add a subdocument More...
 
bool isSubDocumentOpened (libmwaw::SubDocumentType &subdocType) const
 returns try if a subdocument is open More...
 
bool isPageSpanOpened () const
 returns true if a page is opened More...
 
MWAWPageSpan const & getPageSpan ()
 returns the current page span More...
 
bool insertHeader (MWAWSubDocumentPtr subDocument, WPXPropertyList const &extras)
 insert a header More...
 
bool insertFooter (MWAWSubDocumentPtr subDocument, WPXPropertyList const &extras)
 insert a footer More...
 
bool isHeaderFooterOpened () const
 returns true if the header/footer is open More...
 
void insertChar (uint8_t character)
 adds a basic character, .. More...
 
void insertCharacter (unsigned char c)
 insert a character using the font converter to find the utf8 character More...
 
int insertCharacter (unsigned char c, MWAWInputStreamPtr &input, long endPos=-1)
 insert a character using the font converter to find the utf8 character and if needed, input to read extra character. More...
 
void insertUnicode (uint32_t character)
 adds an unicode character. More...
 
void insertUnicodeString (WPXString const &str)
 adds a unicode string More...
 
void insertTab ()
 adds a tab More...
 
void insertEOL (bool softBreak=false)
 adds an end of line ( by default an hard one) More...
 
void insertBreak (BreakType breakType)
 inserts a break type: ColumBreak, PageBreak, .. More...
 
void setFont (MWAWFont const &font)
 sets the font More...
 
MWAWFont const & getFont () const
 returns the actual font More...
 
bool isParagraphOpened () const
 returns true if a paragraph or a list is opened More...
 
void setParagraph (MWAWParagraph const &paragraph)
 sets the paragraph More...
 
MWAWParagraph const & getParagraph () const
 returns the actual paragraph More...
 
void insertField (MWAWField const &field)
 adds a field type More...
 
void insertNote (MWAWNote const &note, MWAWSubDocumentPtr &subDocument)
 insert a note More...
 
void insertComment (MWAWSubDocumentPtr &subDocument)
 adds comment More...
 
void insertPicture (MWAWPosition const &pos, const WPXBinaryData &binaryData, std::string type="image/pict", WPXPropertyList frameExtras=WPXPropertyList())
 adds a picture in given position More...
 
void insertTextBox (MWAWPosition const &pos, MWAWSubDocumentPtr subDocument, WPXPropertyList frameExtras=WPXPropertyList(), WPXPropertyList textboxExtras=WPXPropertyList())
 adds a textbox in given position More...
 
void openTable (std::vector< float > const &colWidth, WPXUnit unit, WPXPropertyList tableExtras=WPXPropertyList())
 open a table More...
 
void closeTable ()
 closes this table More...
 
void openTableRow (float h, WPXUnit unit, bool headerRow=false)
 open a row with given height ( if h < 0.0, set min-row-height = -h ) More...
 
void closeTableRow ()
 closes this row More...
 
void openTableCell (MWAWCell const &cell, WPXPropertyList const &extras)
 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...
 
MWAWSection const & getSection () const
 returns the actual section More...
 
bool openSection (MWAWSection const &section)
 open a section if possible More...
 
bool closeSection ()
 close a section More...
 

Protected Member Functions

void _openSection ()
 
void _closeSection ()
 
void _openPageSpan (bool sendHeaderFooters=true)
 
void _closePageSpan ()
 
void _startSubDocument ()
 
void _endSubDocument ()
 
void _handleFrameParameters (WPXPropertyList &propList, MWAWPosition const &pos)
 
bool openFrame (MWAWPosition const &pos, WPXPropertyList extras=WPXPropertyList())
 
void closeFrame ()
 
void _openParagraph ()
 
void _closeParagraph ()
 
void _appendParagraphProperties (WPXPropertyList &propList, const bool isListElement=false)
 
void _resetParagraphState (const bool isListElement=false)
 
void _openListElement ()
 open a list level More...
 
void _closeListElement ()
 close a list level More...
 
void _changeList ()
 update the list so that it corresponds to the actual level More...
 
int _getListId () const
 low level: find a list id which corresponds to actual list and a change of level. More...
 
void _openSpan ()
 
void _closeSpan ()
 
void _flushText ()
 
void _flushDeferredTabs ()
 
void _insertBreakIfNecessary (WPXPropertyList &propList)
 
shared_ptr
< MWAWContentListenerInternal::State
_pushParsingState ()
 creates a new parsing state (copy of the actual state) More...
 
void _popParsingState ()
 resets the previous parsing state More...
 

Protected Attributes

shared_ptr
< MWAWContentListenerInternal::DocumentState
m_ds
 the main parse state More...
 
shared_ptr
< MWAWContentListenerInternal::State
m_ps
 the actual local parse state More...
 
std::vector< shared_ptr
< MWAWContentListenerInternal::State > > 
m_psStack
 stack of local state More...
 
MWAWParserStatem_parserState
 the parser state More...
 
WPXDocumentInterface * m_documentInterface
 the document interface More...
 

Private Member Functions

 MWAWContentListener (const MWAWContentListener &)
 
MWAWContentListeneroperator= (const MWAWContentListener &)
 

Member Enumeration Documentation

Enumerator
PageBreak 
SoftPageBreak 
ColumnBreak 

Constructor & Destructor Documentation

MWAWContentListener::MWAWContentListener ( MWAWParserState parserState,
std::vector< MWAWPageSpan > const &  pageList,
WPXDocumentInterface *  documentInterface 
)

constructor

MWAWContentListener::~MWAWContentListener ( )
virtual

destructor

MWAWContentListener::MWAWContentListener ( const MWAWContentListener )
private

Member Function Documentation

void MWAWContentListener::_appendParagraphProperties ( WPXPropertyList &  propList,
const bool  isListElement = false 
)
protected

Referenced by _openListElement(), and _openParagraph().

void MWAWContentListener::_changeList ( )
protected

update the list so that it corresponds to the actual level

Referenced by _closeSection(), _endSubDocument(), _openSpan(), closeTableCell(), endDocument(), and insertNote().

void MWAWContentListener::_closeListElement ( )
protected

close a list level

Referenced by _closeParagraph().

void MWAWContentListener::_closePageSpan ( )
protected
void MWAWContentListener::_closeParagraph ( )
protected
void MWAWContentListener::_closeSection ( )
protected
void MWAWContentListener::_closeSpan ( )
protected
void MWAWContentListener::_endSubDocument ( )
protected

Referenced by closeTable(), and handleSubDocument().

void MWAWContentListener::_flushDeferredTabs ( )
protected
void MWAWContentListener::_flushText ( )
protected
int MWAWContentListener::_getListId ( ) const
protected

low level: find a list id which corresponds to actual list and a change of level.

Note
called when the list id is not set

Referenced by _changeList().

void MWAWContentListener::_handleFrameParameters ( WPXPropertyList &  propList,
MWAWPosition const &  pos 
)
protected

Referenced by openFrame().

void MWAWContentListener::_insertBreakIfNecessary ( WPXPropertyList &  propList)
protected
void MWAWContentListener::_openListElement ( )
protected

open a list level

Referenced by _openSpan().

void MWAWContentListener::_openPageSpan ( bool  sendHeaderFooters = true)
protected
void MWAWContentListener::_openParagraph ( )
protected
void MWAWContentListener::_openSection ( )
protected
void MWAWContentListener::_popParsingState ( )
protected

resets the previous parsing state

Referenced by closeTable(), and handleSubDocument().

shared_ptr< MWAWContentListenerInternal::State > MWAWContentListener::_pushParsingState ( )
protected

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

Returns
the old one

Referenced by handleSubDocument(), and openTable().

void MWAWContentListener::_resetParagraphState ( const bool  isListElement = false)
protected

Referenced by _openListElement(), and _openParagraph().

void MWAWContentListener::_startSubDocument ( )
protected

Referenced by handleSubDocument(), and openTable().

void MWAWContentListener::addEmptyTableCell ( Vec2i const &  pos,
Vec2i  span = Vec2i(1,1) 
)

add empty cell

void MWAWContentListener::closeFrame ( )
protected
bool MWAWContentListener::closeSection ( )

close a section

void MWAWContentListener::closeTable ( )

closes this table

Referenced by _endSubDocument(), and endDocument().

void MWAWContentListener::closeTableCell ( )

close a cell

Referenced by addEmptyTableCell(), and openTableCell().

void MWAWContentListener::closeTableRow ( )

closes this row

void MWAWContentListener::endDocument ( bool  sendDelayedSubDoc = true)

ends the document

MWAWFont const & MWAWContentListener::getFont ( ) const

returns the actual font

MWAWPageSpan const & MWAWContentListener::getPageSpan ( )

returns the current page span

Note
this forces the opening of a new page if no page is opened.

Referenced by _openPageSpan().

MWAWParagraph const & MWAWContentListener::getParagraph ( ) const

returns the actual paragraph

MWAWSection const & MWAWContentListener::getSection ( ) const

returns the actual section

void MWAWContentListener::handleSubDocument ( MWAWSubDocumentPtr  subDocument,
libmwaw::SubDocumentType  subDocumentType 
)

function called to add a subdocument

Referenced by insertComment(), insertFooter(), insertHeader(), and insertNote().

void MWAWContentListener::insertBreak ( MWAWContentListener::BreakType  breakType)

inserts a break type: ColumBreak, PageBreak, ..

void MWAWContentListener::insertChar ( uint8_t  character)

adds a basic character, ..

Referenced by insertCharacter().

void MWAWContentListener::insertCharacter ( unsigned char  c)

insert a character using the font converter to find the utf8 character

int MWAWContentListener::insertCharacter ( unsigned char  c,
MWAWInputStreamPtr input,
long  endPos = -1 
)

insert a character using the font converter to find the utf8 character and if needed, input to read extra character.

Returns
the number of extra character read
void MWAWContentListener::insertComment ( MWAWSubDocumentPtr subDocument)

adds comment

void MWAWContentListener::insertEOL ( bool  softBreak = false)

adds an end of line ( by default an hard one)

Referenced by MWAWHeaderFooter::insertPageNumberParagraph().

void MWAWContentListener::insertField ( MWAWField const &  field)
bool MWAWContentListener::insertFooter ( MWAWSubDocumentPtr  subDocument,
WPXPropertyList const &  extras 
)

insert a footer

Referenced by MWAWHeaderFooter::send().

bool MWAWContentListener::insertHeader ( MWAWSubDocumentPtr  subDocument,
WPXPropertyList const &  extras 
)

insert a header

Referenced by MWAWHeaderFooter::send().

void MWAWContentListener::insertNote ( MWAWNote const &  note,
MWAWSubDocumentPtr subDocument 
)

insert a 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.

void MWAWContentListener::insertPicture ( MWAWPosition const &  pos,
const WPXBinaryData &  binaryData,
std::string  type = "image/pict",
WPXPropertyList  frameExtras = WPXPropertyList() 
)

adds a picture in given position

void MWAWContentListener::insertTab ( )

adds a tab

void MWAWContentListener::insertTextBox ( MWAWPosition const &  pos,
MWAWSubDocumentPtr  subDocument,
WPXPropertyList  frameExtras = WPXPropertyList(),
WPXPropertyList  textboxExtras = WPXPropertyList() 
)

adds a textbox in given position

void MWAWContentListener::insertUnicode ( uint32_t  character)

adds an unicode character.

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

Referenced by insertChar(), and insertCharacter().

void MWAWContentListener::insertUnicodeString ( WPXString const &  str)

adds a unicode string

Referenced by insertField(), and GWTextInternal::Token::sendTo().

bool MWAWContentListener::isHeaderFooterOpened ( ) const

returns true if the header/footer is open

bool MWAWContentListener::isPageSpanOpened ( ) const

returns true if a page is opened

bool MWAWContentListener::isParagraphOpened ( ) const

returns true if a paragraph or a list is opened

Referenced by MWAWHeaderFooter::insertPageNumberParagraph().

bool MWAWContentListener::isSectionOpened ( ) const

returns true if a section is opened

bool MWAWContentListener::isSubDocumentOpened ( libmwaw::SubDocumentType subdocType) const

returns try if a subdocument is open

bool MWAWContentListener::openFrame ( MWAWPosition const &  pos,
WPXPropertyList  extras = WPXPropertyList() 
)
protected
bool MWAWContentListener::openSection ( MWAWSection const &  section)

open a section if possible

void MWAWContentListener::openTable ( std::vector< float > const &  colWidth,
WPXUnit  unit,
WPXPropertyList  tableExtras = WPXPropertyList() 
)

open a table

void MWAWContentListener::openTableCell ( MWAWCell const &  cell,
WPXPropertyList const &  extras 
)

low level function to define a cell.

Parameters
cellthe cell position, alignement, ...
extrasto be used to pass extra data, for instance spreadsheet data
void MWAWContentListener::openTableRow ( float  h,
WPXUnit  unit,
bool  headerRow = false 
)

open a row with given height ( if h < 0.0, set min-row-height = -h )

MWAWContentListener& MWAWContentListener::operator= ( const MWAWContentListener )
private
void MWAWContentListener::setDocumentLanguage ( std::string  locale)

sets the documents language

void MWAWContentListener::setFont ( MWAWFont const &  font)
void MWAWContentListener::setParagraph ( MWAWParagraph const &  paragraph)

sets the paragraph

Referenced by MWAWHeaderFooter::insertPageNumberParagraph().

void MWAWContentListener::startDocument ( )

starts the document

Referenced by _openPageSpan().

Member Data Documentation

MWAWParserState& MWAWContentListener::m_parserState
protected

the parser state

Referenced by _changeList(), _getListId(), _openSpan(), and insertCharacter().

std::vector<shared_ptr<MWAWContentListenerInternal::State> > MWAWContentListener::m_psStack
protected

stack of local state

Referenced by _popParsingState(), and _pushParsingState().


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

Generated on Wed Jul 10 2013 18:19:45 for libmwaw by doxygen 1.8.4