MWAWGraphicListener Class Reference

This class contains the code needed to create Graphic document. More...

#include <MWAWGraphicListener.hxx>

Inheritance diagram for MWAWGraphicListener:
MWAWListener

List of all members.

Public Member Functions

 MWAWGraphicListener (MWAWParserState &parserState, std::vector< MWAWPageSpan > const &pageList, librevenge::RVNGDrawingInterface *documentInterface)
 constructor
 MWAWGraphicListener (MWAWParserState &parserState, MWAWBox2f const &box, librevenge::RVNGDrawingInterface *documentInterface)
 simplified constructor (can be used for a embedded graphic with one page).
virtual ~MWAWGraphicListener ()
 destructor
Type getType () const
 returns the listener type
void setDocumentLanguage (std::string locale)
 sets the documents language
void startDocument ()
 starts a new document
void endDocument (bool delayed=true)
 ends the actual document
bool canWriteText () const
 returns true if a text zone is opened
bool isDocumentStarted () const
 returns true if a document is opened
void handleSubDocument (MWAWVec2f const &orig, MWAWSubDocumentPtr subDocument, libmwaw::SubDocumentType subDocumentType)
 function called to add a subdocument and modify the origin
void handleSubDocument (MWAWSubDocumentPtr subDocument, libmwaw::SubDocumentType subDocumentType)
 function called to add a subdocument
bool isSubDocumentOpened (libmwaw::SubDocumentType &subdocType) const
 returns try if a subdocument is open
bool openFrame (MWAWPosition const &pos, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())
 store the position and the style (which will be needed further to insert a textbox or a table with openTable)
void closeFrame ()
 close a frame
bool openGroup (MWAWPosition const &pos)
 open a group
void closeGroup ()
 close a group
bool openLayer (librevenge::RVNGString const &name)
 open a layer
void closeLayer ()
 close a layer
bool openMasterPage (MWAWPageSpan &masterPage)
 opens a master page
void closeMasterPage ()
 close a master page
bool isPageSpanOpened () const
 returns true if a page is opened
MWAWPageSpan const & getPageSpan ()
 returns the current page span
bool insertHeader (MWAWSubDocumentPtr subDocument, librevenge::RVNGPropertyList const &extras)
 insert a header
bool insertFooter (MWAWSubDocumentPtr subDocument, librevenge::RVNGPropertyList const &extras)
 insert a footer
bool isHeaderFooterOpened () const
 returns true if the header/footer is open
void insertChar (uint8_t character)
 adds a basic character, ..
void insertCharacter (unsigned char c)
 insert a character using the font converter to find the utf8 character
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.
void insertUnicode (uint32_t character)
 adds an unicode character.
void insertUnicodeString (librevenge::RVNGString const &str)
 adds a unicode string
void insertTab ()
 adds a tab
void insertEOL (bool softBreak=false)
 adds an end of line ( by default an hard one)
void setFont (MWAWFont const &font)
 sets the font
MWAWFont const & getFont () const
 returns the actual font
bool isParagraphOpened () const
 returns true if a paragraph or a list is opened
void setParagraph (MWAWParagraph const &paragraph)
 sets the paragraph
MWAWParagraph const & getParagraph () const
 returns the actual paragraph
void insertField (MWAWField const &field)
 adds a field type
void openLink (MWAWLink const &link)
 open a link
void closeLink ()
 close a link
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
void insertPicture (MWAWPosition const &pos, MWAWGraphicShape const &shape, MWAWGraphicStyle const &style)
 adds a shape picture in given position
void insertTextBox (MWAWPosition const &pos, MWAWSubDocumentPtr subDocument, MWAWGraphicStyle const &style)
 adds a textbox in given position
void insertGroup (MWAWBox2f const &bdbox, MWAWSubDocumentPtr subDocument)
 adds a group: ie.
void insertNote (MWAWNote const &note, MWAWSubDocumentPtr &subDocument)
 insert a note
void insertComment (MWAWSubDocumentPtr &subDocument)
 adds comment
void insertTable (MWAWPosition const &pos, MWAWTable &table, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())
 adds a table in given position
void openTable (MWAWTable const &table)
 open a table (using the last parameters of openFrame for the position )
void openTable (MWAWPosition const &pos, MWAWTable const &table, MWAWGraphicStyle const &style)
 open a table in a given position
void closeTable ()
 closes this table
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 )
void closeTableRow ()
 closes this row
void openTableCell (MWAWCell const &cell)
 open a cell
void closeTableCell ()
 close a cell
void addEmptyTableCell (MWAWVec2i const &pos, MWAWVec2i span=MWAWVec2i(1, 1))
 add empty cell
bool canOpenSectionAddBreak () const
 returns true if we can add open a section, add page break, ...
bool isSectionOpened () const
 returns true if a section is opened
MWAWSection const & getSection () const
 returns the actual section
bool openSection (MWAWSection const &section)
 open a section if possible
bool closeSection ()
 close a section
void insertBreak (BreakType breakType)
 inserts a break type: ColumBreak, PageBreak, ..

Protected Member Functions

void _openPageSpan (bool sendHeaderFooters=true)
 does open a new page (low level)
void _closePageSpan (bool masterPage=false)
 does close a page (low level)
void _startSubDocument ()
void _endSubDocument ()
void _handleFrameParameters (librevenge::RVNGPropertyList &propList, MWAWPosition const &pos, MWAWGraphicStyle const &style)
 adds in propList the frame parameters.
void _openParagraph ()
void _closeParagraph ()
void _resetParagraphState (const bool isListElement=false)
void _openListElement ()
 open a list level
void _closeListElement ()
 close a list level
void _changeList ()
 update the list so that it corresponds to the actual level
int _getListId () const
 low level: find a list id which corresponds to actual list and a change of level.
void _openSpan ()
void _closeSpan ()
void _flushText ()
shared_ptr
< MWAWGraphicListenerInternal::State
_pushParsingState ()
 creates a new parsing state (copy of the actual state)
void _popParsingState ()
 resets the previous parsing state

Protected Attributes

shared_ptr
< MWAWGraphicListenerInternal::GraphicState
m_ds
 the actual global state
shared_ptr
< MWAWGraphicListenerInternal::State
m_ps
 the actual local parse state
std::vector< shared_ptr
< MWAWGraphicListenerInternal::State > > 
m_psStack
 stack of local state
MWAWParserStatem_parserState
 the parser state
librevenge::RVNGDrawingInterface * m_documentInterface
 the document interface

Private Member Functions

 MWAWGraphicListener (const MWAWGraphicListener &)
MWAWGraphicListeneroperator= (const MWAWGraphicListener &)

Detailed Description

This class contains the code needed to create Graphic document.

Note:
All units are specified in librevenge::RVNG_POINT

Constructor & Destructor Documentation

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

constructor

MWAWGraphicListener::MWAWGraphicListener ( MWAWParserState parserState,
MWAWBox2f const &  box,
librevenge::RVNGDrawingInterface *  documentInterface 
)

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

Note:
the box coordinates must be given in point.

Member Function Documentation

void MWAWGraphicListener::_changeList ( ) [protected]

update the list so that it corresponds to the actual level

Referenced by _closePageSpan(), _endSubDocument(), _openSpan(), and closeTableCell().

close a list level

Referenced by _closeParagraph().

void MWAWGraphicListener::_closePageSpan ( bool  masterPage = false) [protected]

does close a page (low level)

Referenced by closeMasterPage(), endDocument(), insertBreak(), and openMasterPage().

int MWAWGraphicListener::_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 MWAWGraphicListener::_handleFrameParameters ( librevenge::RVNGPropertyList &  propList,
MWAWPosition const &  pos,
MWAWGraphicStyle const &  style 
) [protected]

adds in propList the frame parameters.

Note:
if there is some gradient, first draw a rectangle to print the gradient and them update propList

Referenced by insertFooter(), insertHeader(), openGroup(), and openTable().

open a list level

Referenced by _openSpan().

void MWAWGraphicListener::_openPageSpan ( bool  sendHeaderFooters = true) [protected]

resets the previous parsing state

Referenced by _closePageSpan(), closeGroup(), closeLayer(), closeLink(), closeTable(), and handleSubDocument().

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

Returns:
the old one

Referenced by handleSubDocument(), openGroup(), openLayer(), openLink(), and openTable().

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

Referenced by _openListElement(), and _openParagraph().

void MWAWGraphicListener::addEmptyTableCell ( MWAWVec2i const &  pos,
MWAWVec2i  span = MWAWVec2i(1,1) 
) [virtual]

add empty cell

Implements MWAWListener.

bool MWAWGraphicListener::canOpenSectionAddBreak ( ) const [inline, virtual]

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

Implements MWAWListener.

bool MWAWGraphicListener::canWriteText ( ) const [virtual]

returns true if a text zone is opened

Implements MWAWListener.

Referenced by insertComment(), and insertNote().

void MWAWGraphicListener::closeFrame ( ) [virtual]

close a frame

Implements MWAWListener.

Referenced by insertFooter(), and insertHeader().

close a group

close a layer

void MWAWGraphicListener::closeLink ( ) [virtual]

close a link

Implements MWAWListener.

close a master page

bool MWAWGraphicListener::closeSection ( ) [inline, virtual]

close a section

Implements MWAWListener.

void MWAWGraphicListener::closeTable ( ) [virtual]

closes this table

Implements MWAWListener.

Referenced by _closePageSpan(), and _endSubDocument().

close a cell

Implements MWAWListener.

Referenced by addEmptyTableCell(), and openTableCell().

closes this row

Implements MWAWListener.

MWAWFont const & MWAWGraphicListener::getFont ( ) const [virtual]

returns the actual font

Implements MWAWListener.

returns the current page span

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

Implements MWAWListener.

Referenced by insertFooter().

MWAWParagraph const & MWAWGraphicListener::getParagraph ( ) const [virtual]

returns the actual paragraph

Implements MWAWListener.

MWAWSection const & MWAWGraphicListener::getSection ( ) const [virtual]

returns the actual section

Implements MWAWListener.

Type MWAWGraphicListener::getType ( ) const [inline, virtual]

returns the listener type

Implements MWAWListener.

void MWAWGraphicListener::handleSubDocument ( MWAWVec2f const &  orig,
MWAWSubDocumentPtr  subDocument,
libmwaw::SubDocumentType  subDocumentType 
)

function called to add a subdocument and modify the origin

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

void MWAWGraphicListener::handleSubDocument ( MWAWSubDocumentPtr  subDocument,
libmwaw::SubDocumentType  subDocumentType 
) [inline, virtual]

function called to add a subdocument

Implements MWAWListener.

void MWAWGraphicListener::insertBreak ( BreakType  breakType) [virtual]

inserts a break type: ColumBreak, PageBreak, ..

Implements MWAWListener.

void MWAWGraphicListener::insertChar ( uint8_t  character) [virtual]

adds a basic character, ..

Implements MWAWListener.

Referenced by insertCharacter(), insertComment(), and insertNote().

void MWAWGraphicListener::insertCharacter ( unsigned char  c) [virtual]

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

Implements MWAWListener.

int MWAWGraphicListener::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 MWAWGraphicListener::insertComment ( MWAWSubDocumentPtr subDocument) [virtual]

adds comment

Note:
as RVNGDrawingInterface does not accept comment, comment can only be inserted in a text zone (and are inserted between --)

Implements MWAWListener.

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

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

Implements MWAWListener.

void MWAWGraphicListener::insertField ( MWAWField const &  field) [virtual]

adds a field type

Implements MWAWListener.

bool MWAWGraphicListener::insertFooter ( MWAWSubDocumentPtr  subDocument,
librevenge::RVNGPropertyList const &  extras 
) [virtual]

insert a footer

Implements MWAWListener.

void MWAWGraphicListener::insertGroup ( MWAWBox2f const &  bdbox,
MWAWSubDocumentPtr  subDocument 
)

adds a group: ie.

next insertion will be done relative to this bdbox[0] position

bool MWAWGraphicListener::insertHeader ( MWAWSubDocumentPtr  subDocument,
librevenge::RVNGPropertyList const &  extras 
) [virtual]

insert a header

Implements MWAWListener.

void MWAWGraphicListener::insertNote ( MWAWNote const &  note,
MWAWSubDocumentPtr subDocument 
) [virtual]

insert a note

Note:
as RVNGDrawingInterface does not accept note, note can only be inserted in a text zone (and are inserted between --)

Implements MWAWListener.

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

adds a shape picture in given position

Implements MWAWListener.

void MWAWGraphicListener::insertTab ( ) [virtual]

adds a tab

Implements MWAWListener.

adds a table in given position

void MWAWGraphicListener::insertTextBox ( MWAWPosition const &  pos,
MWAWSubDocumentPtr  subDocument,
MWAWGraphicStyle const &  style 
) [virtual]
void MWAWGraphicListener::insertUnicode ( uint32_t  character) [virtual]

adds an unicode character.

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

Implements MWAWListener.

Referenced by insertChar(), insertCharacter(), insertComment(), and insertNote().

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

adds a unicode string

Implements MWAWListener.

Referenced by insertField().

bool MWAWGraphicListener::isDocumentStarted ( ) const [virtual]

returns true if a document is opened

Implements MWAWListener.

returns true if the header/footer is open

Implements MWAWListener.

bool MWAWGraphicListener::isPageSpanOpened ( ) const [virtual]

returns true if a page is opened

Implements MWAWListener.

bool MWAWGraphicListener::isParagraphOpened ( ) const [virtual]

returns true if a paragraph or a list is opened

Implements MWAWListener.

bool MWAWGraphicListener::isSectionOpened ( ) const [inline, virtual]

returns true if a section is opened

Implements MWAWListener.

returns try if a subdocument is open

Implements MWAWListener.

bool MWAWGraphicListener::openFrame ( MWAWPosition const &  pos,
MWAWGraphicStyle const &  style = MWAWGraphicStyle::emptyStyle() 
) [virtual]

store the position and the style (which will be needed further to insert a textbox or a table with openTable)

Implements MWAWListener.

Referenced by insertFooter(), and insertHeader().

open a group

bool MWAWGraphicListener::openLayer ( librevenge::RVNGString const &  name)

open a layer

void MWAWGraphicListener::openLink ( MWAWLink const &  link) [virtual]

open a link

Implements MWAWListener.

opens a master page

bool MWAWGraphicListener::openSection ( MWAWSection const &  section) [virtual]

open a section if possible

Implements MWAWListener.

void MWAWGraphicListener::openTable ( MWAWTable const &  table) [virtual]

open a table (using the last parameters of openFrame for the position )

Implements MWAWListener.

void MWAWGraphicListener::openTable ( MWAWPosition const &  pos,
MWAWTable const &  table,
MWAWGraphicStyle const &  style 
)

open a table in a given position

void MWAWGraphicListener::openTableCell ( MWAWCell const &  cell) [virtual]

open a cell

Implements MWAWListener.

void MWAWGraphicListener::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.

MWAWGraphicListener& MWAWGraphicListener::operator= ( const MWAWGraphicListener ) [private]
void MWAWGraphicListener::setDocumentLanguage ( std::string  locale) [virtual]

sets the documents language

Implements MWAWListener.

void MWAWGraphicListener::setFont ( MWAWFont const &  font) [virtual]

sets the font

Implements MWAWListener.

void MWAWGraphicListener::setParagraph ( MWAWParagraph const &  paragraph) [virtual]

sets the paragraph

Implements MWAWListener.


Member Data Documentation

stack of local state

Referenced by _popParsingState(), and _pushParsingState().


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