STOFFGraphicListener Class Reference

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

#include <STOFFGraphicListener.hxx>

Inheritance diagram for STOFFGraphicListener:
STOFFListener

List of all members.

Public Member Functions

 STOFFGraphicListener (STOFFListManagerPtr listManager, std::vector< STOFFPageSpan > const &pageList, librevenge::RVNGDrawingInterface *documentInterface)
 constructor
virtual ~STOFFGraphicListener ()
 destructor
Type getType () const
 returns the listener type
void setDocumentLanguage (std::string locale)
 sets the documents language
void setDocumentMetaData (const librevenge::RVNGPropertyList &list)
 sets the document meta data
void startDocument ()
 starts a new document
void endDocument (bool sendDelayedSubDoc=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 (STOFFSubDocumentPtr subDocument, libstoff::SubDocumentType subDocumentType)
 function called to add a subdocument and modify the origin
bool isSubDocumentOpened (libstoff::SubDocumentType &subdocType) const
 returns try if a subdocument is open
bool openFrame (STOFFPosition const &pos, STOFFGraphicStyle const &style=STOFFGraphicStyle())
 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 (STOFFPosition 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 (STOFFPageSpan &masterPage)
 opens a master page
void closeMasterPage ()
 close a master page
bool isPageSpanOpened () const
 returns true if a page is opened
STOFFPageSpan const & getPageSpan ()
 returns the current page span
bool openHeader (librevenge::RVNGPropertyList const &extras)
 open a header (interaction with STOFFPageSpan which fills the parameters for openHeader)
bool openFooter (librevenge::RVNGPropertyList const &extras)
 open a footer (interaction with STOFFPageSpan which fills the parameters for openFooter)
bool closeHeader ()
 close a header
bool closeFooter ()
 close a footer
bool insertHeaderRegion (STOFFSubDocumentPtr subDocument, librevenge::RVNGString const &which)
 insert a header
bool insertFooterRegion (STOFFSubDocumentPtr subDocument, librevenge::RVNGString const &which)
 insert a footer
bool isHeaderFooterOpened () const
 returns true if the header/footer is open
void insertChar (uint8_t character)
 adds a basic character, ..
void insertUnicode (uint32_t character)
 insert a character using the font converter to find the utf8 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 (STOFFFont const &font)
 sets the font
STOFFFont const & getFont () const
 returns the actual font
bool isParagraphOpened () const
 returns true if a paragraph or a list is opened
void setParagraph (STOFFParagraph const &paragraph)
 sets the paragraph
STOFFParagraph const & getParagraph () const
 returns the actual paragraph
void defineStyle (STOFFFont const &style)
 defines a font styles
bool isFontStyleDefined (librevenge::RVNGString const &name) const
 check if a font style with a display name is already defined
void defineStyle (STOFFGraphicStyle const &style)
 defines a graphic styles
bool isGraphicStyleDefined (librevenge::RVNGString const &name) const
 check if a graphic style with a display name is already defined
void defineStyle (STOFFParagraph const &style)
 defines a paragraph styles
bool isParagraphStyleDefined (librevenge::RVNGString const &name) const
 check if a paragraph style with a display name is already defined
void insertField (STOFFField const &field)
 adds a field type
void openLink (STOFFLink const &link)
 open a link
void closeLink ()
 close a link
void insertShape (STOFFGraphicShape const &shape, STOFFGraphicStyle const &style, STOFFPosition const &pos)
 adds a shape picture in given position
void insertTextBox (STOFFPosition const &pos, STOFFSubDocumentPtr subDocument, STOFFGraphicStyle const &style=STOFFGraphicStyle())
 adds a textbox in given position
void insertPicture (STOFFPosition const &pos, STOFFEmbeddedObject const &picture, STOFFGraphicStyle const &style=STOFFGraphicStyle())
 adds a picture with potential various representationin given position
void insertNote (STOFFNote const &note, STOFFSubDocumentPtr &subDocument)
 insert a note
void insertComment (STOFFSubDocumentPtr &subDocument, librevenge::RVNGString const &creator="", librevenge::RVNGString const &date="")
 adds comment
void insertTable (STOFFPosition const &pos, STOFFTable &table, STOFFGraphicStyle const &style=STOFFGraphicStyle())
 adds a table in given position
void openTable (STOFFTable const &table)
 open a table (using the last parameters of openFrame for the position )
void openTable (STOFFPosition const &pos, STOFFTable const &table)
 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 (STOFFCell const &cell)
 open a cell
void closeTableCell ()
 close a cell
void addEmptyTableCell (STOFFVec2i const &pos, STOFFVec2i span=STOFFVec2i(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
STOFFSection const & getSection () const
 returns the actual section
bool openSection (STOFFSection 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, STOFFPosition const &pos, STOFFGraphicStyle 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
< STOFFGraphicListenerInternal::State
_pushParsingState ()
 creates a new parsing state (copy of the actual state)
void _popParsingState ()
 resets the previous parsing state

Protected Attributes

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

Private Member Functions

 STOFFGraphicListener (const STOFFGraphicListener &)
STOFFGraphicListeneroperator= (const STOFFGraphicListener &)

Detailed Description

This class contains the code needed to create Graphic document.

Note:
All units are specified in librevenge::RVNG_POINT

Constructor & Destructor Documentation

STOFFGraphicListener::STOFFGraphicListener ( STOFFListManagerPtr  listManager,
std::vector< STOFFPageSpan > const &  pageList,
librevenge::RVNGDrawingInterface *  documentInterface 
)

constructor


Member Function Documentation

void STOFFGraphicListener::_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 STOFFGraphicListener::_closePageSpan ( bool  masterPage = false) [protected]

does close a page (low level)

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

int STOFFGraphicListener::_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 STOFFGraphicListener::_handleFrameParameters ( librevenge::RVNGPropertyList &  propList,
STOFFPosition const &  pos,
STOFFGraphicStyle 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 insertPicture(), openFooter(), openHeader(), and openTable().

open a list level

Referenced by _openSpan().

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

resets the previous parsing state

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

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

Returns:
the old one

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

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

Referenced by _openListElement(), and _openParagraph().

void STOFFGraphicListener::addEmptyTableCell ( STOFFVec2i const &  pos,
STOFFVec2i  span = STOFFVec2i(1,1) 
) [virtual]

add empty cell

Implements STOFFListener.

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

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

Implements STOFFListener.

bool STOFFGraphicListener::canWriteText ( ) const [virtual]

returns true if a text zone is opened

Implements STOFFListener.

Referenced by insertComment(), and insertNote().

close a footer

Implements STOFFListener.

close a frame

Implements STOFFListener.

Referenced by closeFooter(), closeHeader(), and insertTable().

close a group

Implements STOFFListener.

close a header

Implements STOFFListener.

close a layer

void STOFFGraphicListener::closeLink ( ) [virtual]

close a link

Implements STOFFListener.

close a master page

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

close a section

Implements STOFFListener.

closes this table

Implements STOFFListener.

Referenced by _closePageSpan(), and _endSubDocument().

close a cell

Implements STOFFListener.

Referenced by addEmptyTableCell(), and openTableCell().

closes this row

Implements STOFFListener.

void STOFFGraphicListener::defineStyle ( STOFFFont const &  style) [virtual]

defines a font styles

Implements STOFFListener.

void STOFFGraphicListener::defineStyle ( STOFFGraphicStyle const &  style) [virtual]

defines a graphic styles

Implements STOFFListener.

void STOFFGraphicListener::defineStyle ( STOFFParagraph const &  style) [virtual]

defines a paragraph styles

Implements STOFFListener.

void STOFFGraphicListener::endDocument ( bool  sendDelayedSubDoc = true) [virtual]

ends the actual document

Implements STOFFListener.

STOFFFont const & STOFFGraphicListener::getFont ( ) const [virtual]

returns the actual font

Implements STOFFListener.

returns the current page span

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

Implements STOFFListener.

returns the actual paragraph

Implements STOFFListener.

STOFFSection const & STOFFGraphicListener::getSection ( ) const [virtual]

returns the actual section

Implements STOFFListener.

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

returns the listener type

Implements STOFFListener.

void STOFFGraphicListener::handleSubDocument ( STOFFSubDocumentPtr  subDocument,
libstoff::SubDocumentType  subDocumentType 
) [virtual]

function called to add a subdocument and modify the origin

Implements STOFFListener.

Referenced by insertComment(), insertFooterRegion(), insertHeaderRegion(), and insertNote().

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

inserts a break type: ColumBreak, PageBreak, ..

Implements STOFFListener.

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

adds a basic character, ..

Implements STOFFListener.

Referenced by insertComment(), and insertNote().

void STOFFGraphicListener::insertComment ( STOFFSubDocumentPtr subDocument,
librevenge::RVNGString const &  creator = "",
librevenge::RVNGString const &  date = "" 
) [virtual]

adds comment

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

Implements STOFFListener.

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

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

Implements STOFFListener.

void STOFFGraphicListener::insertField ( STOFFField const &  field) [virtual]

adds a field type

Implements STOFFListener.

bool STOFFGraphicListener::insertFooterRegion ( STOFFSubDocumentPtr  subDocument,
librevenge::RVNGString const &  which 
) [virtual]

insert a footer

Implements STOFFListener.

bool STOFFGraphicListener::insertHeaderRegion ( STOFFSubDocumentPtr  subDocument,
librevenge::RVNGString const &  which 
) [virtual]

insert a header

Implements STOFFListener.

void STOFFGraphicListener::insertNote ( STOFFNote const &  note,
STOFFSubDocumentPtr 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 STOFFListener.

void STOFFGraphicListener::insertPicture ( STOFFPosition const &  pos,
STOFFEmbeddedObject const &  picture,
STOFFGraphicStyle const &  style = STOFFGraphicStyle() 
) [virtual]

adds a picture with potential various representationin given position

Implements STOFFListener.

void STOFFGraphicListener::insertShape ( STOFFGraphicShape const &  shape,
STOFFGraphicStyle const &  style,
STOFFPosition const &  pos 
) [virtual]

adds a shape picture in given position

Implements STOFFListener.

void STOFFGraphicListener::insertTab ( ) [virtual]

adds a tab

Implements STOFFListener.

void STOFFGraphicListener::insertTable ( STOFFPosition const &  pos,
STOFFTable table,
STOFFGraphicStyle const &  style = STOFFGraphicStyle() 
)

adds a table in given position

void STOFFGraphicListener::insertTextBox ( STOFFPosition const &  pos,
STOFFSubDocumentPtr  subDocument,
STOFFGraphicStyle const &  style = STOFFGraphicStyle() 
) [virtual]

adds a textbox in given position

Implements STOFFListener.

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

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

adds an unicode character. By convention if character=0xfffd(undef), no character is added

Implements STOFFListener.

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

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

adds a unicode string

Implements STOFFListener.

bool STOFFGraphicListener::isDocumentStarted ( ) const [virtual]

returns true if a document is opened

Implements STOFFListener.

bool STOFFGraphicListener::isFontStyleDefined ( librevenge::RVNGString const &  name) const [virtual]

check if a font style with a display name is already defined

Implements STOFFListener.

bool STOFFGraphicListener::isGraphicStyleDefined ( librevenge::RVNGString const &  name) const [virtual]

check if a graphic style with a display name is already defined

Implements STOFFListener.

returns true if the header/footer is open

Implements STOFFListener.

bool STOFFGraphicListener::isPageSpanOpened ( ) const [virtual]

returns true if a page is opened

Implements STOFFListener.

bool STOFFGraphicListener::isParagraphOpened ( ) const [virtual]

returns true if a paragraph or a list is opened

Implements STOFFListener.

bool STOFFGraphicListener::isParagraphStyleDefined ( librevenge::RVNGString const &  name) const [virtual]

check if a paragraph style with a display name is already defined

Implements STOFFListener.

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

returns true if a section is opened

Implements STOFFListener.

returns try if a subdocument is open

Implements STOFFListener.

bool STOFFGraphicListener::openFooter ( librevenge::RVNGPropertyList const &  extras) [virtual]

open a footer (interaction with STOFFPageSpan which fills the parameters for openFooter)

Implements STOFFListener.

bool STOFFGraphicListener::openFrame ( STOFFPosition const &  pos,
STOFFGraphicStyle const &  style = STOFFGraphicStyle() 
) [virtual]

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

Implements STOFFListener.

Referenced by insertTable(), openFooter(), and openHeader().

bool STOFFGraphicListener::openGroup ( STOFFPosition const &  pos) [virtual]

open a group

Implements STOFFListener.

bool STOFFGraphicListener::openHeader ( librevenge::RVNGPropertyList const &  extras) [virtual]

open a header (interaction with STOFFPageSpan which fills the parameters for openHeader)

Implements STOFFListener.

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

open a layer

void STOFFGraphicListener::openLink ( STOFFLink const &  link) [virtual]

open a link

Implements STOFFListener.

opens a master page

bool STOFFGraphicListener::openSection ( STOFFSection const &  section) [virtual]

open a section if possible

Implements STOFFListener.

void STOFFGraphicListener::openTable ( STOFFTable const &  table) [virtual]

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

Implements STOFFListener.

void STOFFGraphicListener::openTable ( STOFFPosition const &  pos,
STOFFTable const &  table 
)

open a table in a given position

void STOFFGraphicListener::openTableCell ( STOFFCell const &  cell) [virtual]

open a cell

Implements STOFFListener.

void STOFFGraphicListener::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 STOFFListener.

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

sets the documents language

Implements STOFFListener.

void STOFFGraphicListener::setDocumentMetaData ( const librevenge::RVNGPropertyList &  list) [virtual]

sets the document meta data

Implements STOFFListener.

void STOFFGraphicListener::setFont ( STOFFFont const &  font) [virtual]

sets the font

Implements STOFFListener.

void STOFFGraphicListener::setParagraph ( STOFFParagraph const &  paragraph) [virtual]

sets the paragraph

Implements STOFFListener.

starts a new document

Implements STOFFListener.

Referenced by _openPageSpan(), and openMasterPage().


Member Data Documentation

stack of local state

Referenced by _popParsingState(), and _pushParsingState().


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