MWAWSpreadsheetListener Class Reference

This class contents the main functions needed to create a spreadsheet processing Document. More...

#include <MWAWSpreadsheetListener.hxx>

Inheritance diagram for MWAWSpreadsheetListener:
MWAWListener

Public Member Functions

 MWAWSpreadsheetListener (MWAWParserState &parserState, std::vector< MWAWPageSpan > const &pageList, librevenge::RVNGSpreadsheetInterface *documentInterface)
 constructor More...
 
 MWAWSpreadsheetListener (MWAWParserState &parserState, MWAWBox2f const &box, librevenge::RVNGSpreadsheetInterface *documentInterface)
 simplified constructor (can be used for a embedded spreadsheet with one page). More...
 
virtual ~MWAWSpreadsheetListener ()
 destructor More...
 
Type getType () const
 returns the listener type 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...
 
bool isDocumentStarted () const
 returns true if a document is opened 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 openFrame (MWAWPosition const &pos, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())
 tries to open a frame More...
 
void closeFrame ()
 tries to close a frame More...
 
bool canWriteText () const
 returns true if we can add text data 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, librevenge::RVNGPropertyList const &extras)
 insert a header More...
 
bool insertFooter (MWAWSubDocumentPtr subDocument, librevenge::RVNGPropertyList const &extras)
 insert a footer More...
 
bool isHeaderFooterOpened () const
 returns true if the header/footer is open More...
 
void openSheet (std::vector< float > const &colWidth, librevenge::RVNGUnit unit, std::string const &name="")
 open a sheet More...
 
void closeSheet ()
 closes this sheet More...
 
void openSheetRow (float h, librevenge::RVNGUnit unit)
 open a row with given height ( if h < 0.0, set min-row-height = -h ) More...
 
void closeSheetRow ()
 closes this row More...
 
void openSheetCell (MWAWCell const &cell, MWAWCellContent const &content)
 open a cell More...
 
void closeSheetCell ()
 close a cell More...
 
void insertChart (MWAWPosition const &pos, MWAWChart &chart, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())
 adds a chart in given position 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 (librevenge::RVNGString 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 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 openLink (MWAWLink const &link)
 open a link More...
 
void closeLink ()
 close a link 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 librevenge::RVNGBinaryData &binaryData, std::string type="image/pict", MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())
 adds a picture in given position More...
 
void insertPicture (MWAWPosition const &pos, MWAWGraphicShape const &shape, MWAWGraphicStyle const &style)
 adds a shape picture in given position More...
 
void insertTextBox (MWAWPosition const &pos, MWAWSubDocumentPtr subDocument, MWAWGraphicStyle const &frameStyle=MWAWGraphicStyle::emptyStyle())
 adds a textbox in given position More...
 
void insertTable (MWAWPosition const &pos, MWAWTable &table, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())
 adds a table in given position More...
 
void openTable (MWAWTable const &table)
 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 ( if h < 0.0, set min-row-height = -h ) More...
 
void closeTableRow ()
 closes this row More...
 
void openTableCell (MWAWCell const &cell)
 open a cell More...
 
void closeTableCell ()
 close a cell More...
 
void addEmptyTableCell (MWAWVec2i const &pos, MWAWVec2i span=MWAWVec2i(1, 1))
 add empty cell More...
 
bool canOpenSectionAddBreak () const
 returns true if we can add open a section, add page break, ... 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...
 
void insertBreak (BreakType breakType)
 inserts a break type: ColumBreak, PageBreak, .. More...
 
- Public Member Functions inherited from MWAWListener
virtual ~MWAWListener ()
 destructor More...
 

Protected Member Functions

void _openPageSpan (bool sendHeaderFooters=true)
 does open a new page (low level) More...
 
void _closePageSpan ()
 does close a page (low level) More...
 
void _startSubDocument ()
 
void _endSubDocument ()
 
void _handleFrameParameters (librevenge::RVNGPropertyList &propList, MWAWPosition const &pos)
 
void _openParagraph ()
 
void _closeParagraph ()
 
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 ()
 
shared_ptr
< MWAWSpreadsheetListenerInternal::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
< MWAWSpreadsheetListenerInternal::DocumentState
m_ds
 the main parse state More...
 
shared_ptr
< MWAWSpreadsheetListenerInternal::State
m_ps
 the actual local parse state More...
 
std::vector< shared_ptr
< MWAWSpreadsheetListenerInternal::State > > 
m_psStack
 stack of local state More...
 
MWAWParserStatem_parserState
 the parser state More...
 
librevenge::RVNGSpreadsheetInterface * m_documentInterface
 the document interface More...
 

Private Member Functions

 MWAWSpreadsheetListener (const MWAWSpreadsheetListener &)
 copy constructor (unimplemented) More...
 
MWAWSpreadsheetListeneroperator= (const MWAWSpreadsheetListener &)
 operator= (unimplemented) More...
 

Additional Inherited Members

- Public Types inherited from MWAWListener
enum  Type { Graphic, Presentation, Spreadsheet, Text }
 the listener type More...
 
enum  BreakType { PageBreak =0, SoftPageBreak, ColumnBreak }
 the different break type More...
 

Detailed Description

This class contents the main functions needed to create a spreadsheet processing Document.

Constructor & Destructor Documentation

MWAWSpreadsheetListener::MWAWSpreadsheetListener ( MWAWParserState parserState,
std::vector< MWAWPageSpan > const &  pageList,
librevenge::RVNGSpreadsheetInterface *  documentInterface 
)

constructor

MWAWSpreadsheetListener::MWAWSpreadsheetListener ( MWAWParserState parserState,
MWAWBox2f const &  box,
librevenge::RVNGSpreadsheetInterface *  documentInterface 
)

simplified constructor (can be used for a embedded spreadsheet with one page).

Note
the box coordinates must be given in point.
MWAWSpreadsheetListener::~MWAWSpreadsheetListener ( )
virtual

destructor

MWAWSpreadsheetListener::MWAWSpreadsheetListener ( const MWAWSpreadsheetListener )
private

copy constructor (unimplemented)

Member Function Documentation

void MWAWSpreadsheetListener::_changeList ( )
protected

update the list so that it corresponds to the actual level

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

void MWAWSpreadsheetListener::_closeListElement ( )
protected

close a list level

Referenced by _closeParagraph().

void MWAWSpreadsheetListener::_closePageSpan ( )
protected

does close a page (low level)

Referenced by endDocument().

void MWAWSpreadsheetListener::_closeParagraph ( )
protected
void MWAWSpreadsheetListener::_closeSpan ( )
protected
void MWAWSpreadsheetListener::_endSubDocument ( )
protected
void MWAWSpreadsheetListener::_flushDeferredTabs ( )
protected
void MWAWSpreadsheetListener::_flushText ( )
protected
int MWAWSpreadsheetListener::_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 MWAWSpreadsheetListener::_handleFrameParameters ( librevenge::RVNGPropertyList &  propList,
MWAWPosition const &  pos 
)
protected

Referenced by openFrame().

void MWAWSpreadsheetListener::_openListElement ( )
protected

open a list level

Referenced by _openSpan().

void MWAWSpreadsheetListener::_openPageSpan ( bool  sendHeaderFooters = true)
protected

does open a new page (low level)

Referenced by endDocument(), getPageSpan(), and openSheet().

void MWAWSpreadsheetListener::_openParagraph ( )
protected
void MWAWSpreadsheetListener::_popParsingState ( )
protected

resets the previous parsing state

Referenced by closeLink(), closeSheet(), closeTable(), and handleSubDocument().

shared_ptr< MWAWSpreadsheetListenerInternal::State > MWAWSpreadsheetListener::_pushParsingState ( )
protected

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

Returns
the old one

Referenced by handleSubDocument(), openLink(), openSheet(), and openTable().

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

Referenced by _openListElement(), and _openParagraph().

void MWAWSpreadsheetListener::_startSubDocument ( )
protected
void MWAWSpreadsheetListener::addEmptyTableCell ( MWAWVec2i const &  pos,
MWAWVec2i  span = MWAWVec2i(1,1) 
)
virtual

add empty cell

Implements MWAWListener.

bool MWAWSpreadsheetListener::canOpenSectionAddBreak ( ) const
inlinevirtual

returns true if we can add open a section, add page break, ...

Implements MWAWListener.

bool MWAWSpreadsheetListener::canWriteText ( ) const
virtual

returns true if we can add text data

Implements MWAWListener.

Referenced by insertComment(), and insertNote().

void MWAWSpreadsheetListener::closeFrame ( )
virtual

tries to close a frame

Implements MWAWListener.

void MWAWSpreadsheetListener::closeLink ( )
virtual

close a link

Implements MWAWListener.

bool MWAWSpreadsheetListener::closeSection ( )
virtual

close a section

Implements MWAWListener.

void MWAWSpreadsheetListener::closeSheet ( )
void MWAWSpreadsheetListener::closeSheetCell ( )
void MWAWSpreadsheetListener::closeSheetRow ( )
void MWAWSpreadsheetListener::closeTable ( )
virtual

closes this table

Implements MWAWListener.

Referenced by _endSubDocument(), and endDocument().

void MWAWSpreadsheetListener::closeTableCell ( )
virtual

close a cell

Implements MWAWListener.

Referenced by addEmptyTableCell(), and openTableCell().

void MWAWSpreadsheetListener::closeTableRow ( )
virtual

closes this row

Implements MWAWListener.

void MWAWSpreadsheetListener::endDocument ( bool  sendDelayedSubDoc = true)
virtual

ends the document

Implements MWAWListener.

Referenced by ClarisWksGraph::sendGroupChild().

MWAWFont const & MWAWSpreadsheetListener::getFont ( ) const
virtual

returns the actual font

Implements MWAWListener.

MWAWPageSpan const & MWAWSpreadsheetListener::getPageSpan ( )
virtual

returns the current page span

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

Implements MWAWListener.

MWAWParagraph const & MWAWSpreadsheetListener::getParagraph ( ) const
virtual

returns the actual paragraph

Implements MWAWListener.

MWAWSection const & MWAWSpreadsheetListener::getSection ( ) const
virtual

returns the actual section

Implements MWAWListener.

Type MWAWSpreadsheetListener::getType ( ) const
inlinevirtual

returns the listener type

Implements MWAWListener.

void MWAWSpreadsheetListener::handleSubDocument ( MWAWSubDocumentPtr  subDocument,
libmwaw::SubDocumentType  subDocumentType 
)
virtual

function called to add a subdocument

Implements MWAWListener.

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

void MWAWSpreadsheetListener::insertBreak ( MWAWSpreadsheetListener::BreakType  breakType)
virtual

inserts a break type: ColumBreak, PageBreak, ..

Implements MWAWListener.

void MWAWSpreadsheetListener::insertChar ( uint8_t  character)
virtual

adds a basic character, ..

Implements MWAWListener.

Referenced by insertCharacter().

void MWAWSpreadsheetListener::insertCharacter ( unsigned char  c)
virtual

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

Implements MWAWListener.

Referenced by ClarisWksDatabase::sendDatabase(), and ClarisWksSpreadsheet::sendSpreadsheet().

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

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

Implements MWAWListener.

void MWAWSpreadsheetListener::insertChart ( MWAWPosition const &  pos,
MWAWChart chart,
MWAWGraphicStyle const &  style = MWAWGraphicStyle::emptyStyle() 
)

adds a chart in given position

void MWAWSpreadsheetListener::insertComment ( MWAWSubDocumentPtr subDocument)
virtual

adds comment

Implements MWAWListener.

void MWAWSpreadsheetListener::insertEOL ( bool  softBreak = false)
virtual

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

Implements MWAWListener.

Referenced by ClarisWksDatabase::sendDatabase(), and ClarisWksSpreadsheet::sendSpreadsheet().

void MWAWSpreadsheetListener::insertField ( MWAWField const &  field)
virtual

adds a field type

Implements MWAWListener.

bool MWAWSpreadsheetListener::insertFooter ( MWAWSubDocumentPtr  subDocument,
librevenge::RVNGPropertyList const &  extras 
)
virtual

insert a footer

Implements MWAWListener.

bool MWAWSpreadsheetListener::insertHeader ( MWAWSubDocumentPtr  subDocument,
librevenge::RVNGPropertyList const &  extras 
)
virtual

insert a header

Implements MWAWListener.

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

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.

Implements MWAWListener.

void MWAWSpreadsheetListener::insertPicture ( MWAWPosition const &  pos,
const librevenge::RVNGBinaryData &  binaryData,
std::string  type = "image/pict",
MWAWGraphicStyle const &  style = MWAWGraphicStyle::emptyStyle() 
)
virtual

adds a picture in given position

Implements MWAWListener.

void MWAWSpreadsheetListener::insertPicture ( MWAWPosition const &  pos,
MWAWGraphicShape const &  shape,
MWAWGraphicStyle const &  style 
)
virtual

adds a shape picture in given position

Implements MWAWListener.

void MWAWSpreadsheetListener::insertTab ( )
virtual

adds a tab

Implements MWAWListener.

Referenced by ClarisWksDatabase::sendDatabase().

void MWAWSpreadsheetListener::insertTable ( MWAWPosition const &  pos,
MWAWTable table,
MWAWGraphicStyle const &  style = MWAWGraphicStyle::emptyStyle() 
)

adds a table in given position

void MWAWSpreadsheetListener::insertTextBox ( MWAWPosition const &  pos,
MWAWSubDocumentPtr  subDocument,
MWAWGraphicStyle const &  frameStyle = MWAWGraphicStyle::emptyStyle() 
)
virtual

adds a textbox in given position

Implements MWAWListener.

void MWAWSpreadsheetListener::insertUnicode ( uint32_t  character)
virtual

adds an unicode character.

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

Implements MWAWListener.

Referenced by insertChar(), and insertCharacter().

void MWAWSpreadsheetListener::insertUnicodeString ( librevenge::RVNGString const &  str)
virtual

adds a unicode string

Implements MWAWListener.

Referenced by insertField().

bool MWAWSpreadsheetListener::isDocumentStarted ( ) const
virtual

returns true if a document is opened

Implements MWAWListener.

bool MWAWSpreadsheetListener::isHeaderFooterOpened ( ) const
virtual

returns true if the header/footer is open

Implements MWAWListener.

bool MWAWSpreadsheetListener::isPageSpanOpened ( ) const
virtual

returns true if a page is opened

Implements MWAWListener.

bool MWAWSpreadsheetListener::isParagraphOpened ( ) const
virtual

returns true if a paragraph or a list is opened

Implements MWAWListener.

bool MWAWSpreadsheetListener::isSectionOpened ( ) const
inlinevirtual

returns true if a section is opened

Implements MWAWListener.

bool MWAWSpreadsheetListener::isSubDocumentOpened ( libmwaw::SubDocumentType subdocType) const
virtual

returns try if a subdocument is open

Implements MWAWListener.

bool MWAWSpreadsheetListener::openFrame ( MWAWPosition const &  pos,
MWAWGraphicStyle const &  style = MWAWGraphicStyle::emptyStyle() 
)
virtual

tries to open a frame

Implements MWAWListener.

void MWAWSpreadsheetListener::openLink ( MWAWLink const &  link)
virtual

open a link

Implements MWAWListener.

bool MWAWSpreadsheetListener::openSection ( MWAWSection const &  section)
virtual

open a section if possible

Implements MWAWListener.

void MWAWSpreadsheetListener::openSheet ( std::vector< float > const &  colWidth,
librevenge::RVNGUnit  unit,
std::string const &  name = "" 
)
void MWAWSpreadsheetListener::openSheetCell ( MWAWCell const &  cell,
MWAWCellContent const &  content 
)
void MWAWSpreadsheetListener::openSheetRow ( float  h,
librevenge::RVNGUnit  unit 
)

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

Referenced by ClarisWksDatabase::sendDatabase(), and ClarisWksSpreadsheet::sendSpreadsheet().

void MWAWSpreadsheetListener::openTable ( MWAWTable const &  table)
virtual

open a table

Implements MWAWListener.

void MWAWSpreadsheetListener::openTableCell ( MWAWCell const &  cell)
virtual

open a cell

Implements MWAWListener.

void MWAWSpreadsheetListener::openTableRow ( float  h,
librevenge::RVNGUnit  unit,
bool  headerRow = false 
)
virtual

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

Implements MWAWListener.

MWAWSpreadsheetListener& MWAWSpreadsheetListener::operator= ( const MWAWSpreadsheetListener )
private

operator= (unimplemented)

void MWAWSpreadsheetListener::setDocumentLanguage ( std::string  locale)
virtual

sets the documents language

Implements MWAWListener.

void MWAWSpreadsheetListener::setFont ( MWAWFont const &  font)
virtual

sets the font

Implements MWAWListener.

Referenced by _flushDeferredTabs(), and ClarisWksSpreadsheet::sendSpreadsheet().

void MWAWSpreadsheetListener::setParagraph ( MWAWParagraph const &  paragraph)
virtual

sets the paragraph

Implements MWAWListener.

void MWAWSpreadsheetListener::startDocument ( )
virtual

starts the document

Implements MWAWListener.

Referenced by _openPageSpan(), and ClarisWksGraph::sendGroupChild().

Member Data Documentation

MWAWParserState& MWAWSpreadsheetListener::m_parserState
protected
std::vector<shared_ptr<MWAWSpreadsheetListenerInternal::State> > MWAWSpreadsheetListener::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 Thu Jul 9 2015 20:26:39 for libmwaw by doxygen 1.8.8