MWAWPresentationListener Class Referencefinal

This class contains code needed to write a presention document. More...

#include <MWAWPresentationListener.hxx>

Inheritance diagram for MWAWPresentationListener:
MWAWListener

Public Member Functions

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

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 ()
std::shared_ptr< MWAWPresentationListenerInternal::State_pushParsingState ()
 creates a new parsing state (copy of the actual state)
void _popParsingState ()
 resets the previous parsing state

Protected Attributes

std::shared_ptr< MWAWPresentationListenerInternal::GraphicStatem_ds
 the actual global state
std::shared_ptr< MWAWPresentationListenerInternal::Statem_ps
 the actual local parse state
std::vector< std::shared_ptr< MWAWPresentationListenerInternal::State > > m_psStack
 stack of local state
MWAWParserStatem_parserState
 the parser state
librevenge::RVNGPresentationInterface * m_documentInterface
 the document interface

Private Member Functions

 MWAWPresentationListener (const MWAWPresentationListener &)=delete
MWAWPresentationListeneroperator= (const MWAWPresentationListener &)=delete

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 contains code needed to write a presention document.

Note
All units are specified in librevenge::RVNG_POINT

Constructor & Destructor Documentation

◆ MWAWPresentationListener() [1/2]

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

constructor

Referenced by MWAWPresentationListener(), and operator=().

◆ ~MWAWPresentationListener()

MWAWPresentationListener::~MWAWPresentationListener ( )
final

destructor

◆ MWAWPresentationListener() [2/2]

MWAWPresentationListener::MWAWPresentationListener ( const MWAWPresentationListener & )
privatedelete

Member Function Documentation

◆ _changeList()

void MWAWPresentationListener::_changeList ( )
protected

update the list so that it corresponds to the actual level

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

◆ _closeListElement()

void MWAWPresentationListener::_closeListElement ( )
protected

close a list level

Referenced by _closeParagraph().

◆ _closePageSpan()

void MWAWPresentationListener::_closePageSpan ( bool masterPage = false)
protected

does close a page (low level)

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

◆ _closeParagraph()

void MWAWPresentationListener::_closeParagraph ( )
protected

◆ _closeSpan()

void MWAWPresentationListener::_closeSpan ( )
protected

◆ _endSubDocument()

void MWAWPresentationListener::_endSubDocument ( )
protected

◆ _flushText()

void MWAWPresentationListener::_flushText ( )
protected

◆ _getListId()

int MWAWPresentationListener::_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().

◆ _handleFrameParameters()

void MWAWPresentationListener::_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(), insertPicture(), insertSlideNote(), insertTextBox(), openGroup(), and openTable().

◆ _openListElement()

void MWAWPresentationListener::_openListElement ( )
protected

open a list level

Referenced by _openSpan().

◆ _openPageSpan()

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

◆ _openParagraph()

void MWAWPresentationListener::_openParagraph ( )
protected

◆ _openSpan()

void MWAWPresentationListener::_openSpan ( )
protected

◆ _popParsingState()

void MWAWPresentationListener::_popParsingState ( )
protected

resets the previous parsing state

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

◆ _pushParsingState()

std::shared_ptr< MWAWPresentationListenerInternal::State > MWAWPresentationListener::_pushParsingState ( )
protected

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

Returns
the old one

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

◆ _resetParagraphState()

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

Referenced by _openListElement(), and _openParagraph().

◆ _startSubDocument()

void MWAWPresentationListener::_startSubDocument ( )
protected

◆ addEmptyTableCell()

void MWAWPresentationListener::addEmptyTableCell ( MWAWVec2i const & pos,
MWAWVec2i span = MWAWVec2i(1,1) )
finalvirtual

add empty cell

Implements MWAWListener.

◆ canOpenSectionAddBreak()

bool MWAWPresentationListener::canOpenSectionAddBreak ( ) const
inlinefinalvirtual

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

Implements MWAWListener.

Referenced by canOpenSectionAddBreak().

◆ canWriteText()

bool MWAWPresentationListener::canWriteText ( ) const
finalvirtual

returns true if a text zone is opened

Implements MWAWListener.

Referenced by insertComment(), and insertNote().

◆ closeFrame()

void MWAWPresentationListener::closeFrame ( )
finalvirtual

◆ closeGroup()

void MWAWPresentationListener::closeGroup ( )
finalvirtual

close a group

Implements MWAWListener.

◆ closeLayer()

void MWAWPresentationListener::closeLayer ( )

close a layer

◆ closeLink()

void MWAWPresentationListener::closeLink ( )
finalvirtual

close a link

Implements MWAWListener.

◆ closeMasterPage()

void MWAWPresentationListener::closeMasterPage ( )
inline

close a master page

Referenced by closeMasterPage().

◆ closeSection()

bool MWAWPresentationListener::closeSection ( )
inlinefinalvirtual

close a section

Implements MWAWListener.

Referenced by closeSection().

◆ closeTable()

void MWAWPresentationListener::closeTable ( )
finalvirtual

closes this table

Implements MWAWListener.

Referenced by _closePageSpan(), and _endSubDocument().

◆ closeTableCell()

void MWAWPresentationListener::closeTableCell ( )
finalvirtual

close a cell

Implements MWAWListener.

Referenced by addEmptyTableCell(), and openTableCell().

◆ closeTableRow()

void MWAWPresentationListener::closeTableRow ( )
finalvirtual

closes this row

Implements MWAWListener.

◆ endDocument()

void MWAWPresentationListener::endDocument ( bool delayed = true)
finalvirtual

ends the actual document

Implements MWAWListener.

◆ getFont()

MWAWFont const & MWAWPresentationListener::getFont ( ) const
finalvirtual

returns the actual font

Implements MWAWListener.

◆ getPageSpan()

MWAWPageSpan const & MWAWPresentationListener::getPageSpan ( )
finalvirtual

returns the current page span

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

Implements MWAWListener.

Referenced by insertFooter().

◆ getParagraph()

MWAWParagraph const & MWAWPresentationListener::getParagraph ( ) const
finalvirtual

returns the actual paragraph

Implements MWAWListener.

◆ getSection()

MWAWSection const & MWAWPresentationListener::getSection ( ) const
finalvirtual

returns the actual section

Implements MWAWListener.

◆ getType()

Type MWAWPresentationListener::getType ( ) const
inlinefinalvirtual

returns the listener type

Implements MWAWListener.

◆ handleSubDocument() [1/2]

void MWAWPresentationListener::handleSubDocument ( MWAWSubDocumentPtr const & subDocument,
libmwaw::SubDocumentType subDocumentType )
inlinefinalvirtual

function called to add a subdocument

Implements MWAWListener.

◆ handleSubDocument() [2/2]

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

function called to add a subdocument and modify the origin

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

◆ insertBreak()

void MWAWPresentationListener::insertBreak ( BreakType breakType)
finalvirtual

inserts a break type: ColumBreak, PageBreak, ..

Implements MWAWListener.

◆ insertChar()

void MWAWPresentationListener::insertChar ( uint8_t character)
finalvirtual

adds a basic character, ..

Implements MWAWListener.

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

◆ insertCharacter() [1/2]

void MWAWPresentationListener::insertCharacter ( unsigned char c)
finalvirtual

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

Implements MWAWListener.

◆ insertCharacter() [2/2]

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

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.

◆ insertComment()

void MWAWPresentationListener::insertComment ( MWAWSubDocumentPtr & subDocument)
finalvirtual

adds comment

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

Implements MWAWListener.

◆ insertEOL()

void MWAWPresentationListener::insertEOL ( bool softBreak = false)
finalvirtual

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

Implements MWAWListener.

◆ insertField()

void MWAWPresentationListener::insertField ( MWAWField const & field)
finalvirtual

adds a field type

Implements MWAWListener.

◆ insertFooter()

bool MWAWPresentationListener::insertFooter ( MWAWSubDocumentPtr const & subDocument,
librevenge::RVNGPropertyList const & extras )
finalvirtual

insert a footer

Implements MWAWListener.

◆ insertGroup()

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

adds a group: ie.

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

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

◆ insertHeader()

bool MWAWPresentationListener::insertHeader ( MWAWSubDocumentPtr const & subDocument,
librevenge::RVNGPropertyList const & extras )
finalvirtual

insert a header

Implements MWAWListener.

◆ insertNote()

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

insert a note

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

Implements MWAWListener.

◆ insertPicture()

void MWAWPresentationListener::insertPicture ( MWAWPosition const & pos,
MWAWEmbeddedObject const & picture,
MWAWGraphicStyle const & style = MWAWGraphicStyle::emptyStyle() )
finalvirtual

adds a picture with potential various representationin given position

Implements MWAWListener.

◆ insertShape()

void MWAWPresentationListener::insertShape ( MWAWPosition const & pos,
MWAWGraphicShape const & shape,
MWAWGraphicStyle const & style )
finalvirtual

adds a shape picture in given position

Implements MWAWListener.

◆ insertSlideNote()

void MWAWPresentationListener::insertSlideNote ( MWAWPosition const & pos,
MWAWSubDocumentPtr & subDocument )

insert a slide note

◆ insertTab()

void MWAWPresentationListener::insertTab ( )
finalvirtual

adds a tab

Implements MWAWListener.

◆ insertTable()

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

adds a table in given position

◆ insertTextBox()

void MWAWPresentationListener::insertTextBox ( MWAWPosition const & pos,
MWAWSubDocumentPtr const & subDocument,
MWAWGraphicStyle const & style )
finalvirtual

adds a textbox in given position

Implements MWAWListener.

◆ insertUnicode()

void MWAWPresentationListener::insertUnicode ( uint32_t character)
finalvirtual

adds an unicode character.

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

Implements MWAWListener.

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

◆ insertUnicodeString()

void MWAWPresentationListener::insertUnicodeString ( librevenge::RVNGString const & str)
finalvirtual

adds a unicode string

Implements MWAWListener.

Referenced by insertField().

◆ isDocumentStarted()

bool MWAWPresentationListener::isDocumentStarted ( ) const
finalvirtual

returns true if a document is opened

Implements MWAWListener.

◆ isHeaderFooterOpened()

bool MWAWPresentationListener::isHeaderFooterOpened ( ) const
finalvirtual

returns true if the header/footer is open

Implements MWAWListener.

◆ isPageSpanOpened()

bool MWAWPresentationListener::isPageSpanOpened ( ) const
finalvirtual

returns true if a page is opened

Implements MWAWListener.

◆ isParagraphOpened()

bool MWAWPresentationListener::isParagraphOpened ( ) const
finalvirtual

returns true if a paragraph or a list is opened

Implements MWAWListener.

◆ isSectionOpened()

bool MWAWPresentationListener::isSectionOpened ( ) const
inlinefinalvirtual

returns true if a section is opened

Implements MWAWListener.

◆ isSubDocumentOpened()

bool MWAWPresentationListener::isSubDocumentOpened ( libmwaw::SubDocumentType & subdocType) const
finalvirtual

returns try if a subdocument is open

Implements MWAWListener.

◆ openFrame()

bool MWAWPresentationListener::openFrame ( MWAWPosition const & pos,
MWAWGraphicStyle const & style = MWAWGraphicStyle::emptyStyle() )
finalvirtual

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(), insertHeader(), insertSlideNote(), insertTable(), and insertTextBox().

◆ openGroup()

bool MWAWPresentationListener::openGroup ( MWAWPosition const & pos)
finalvirtual

open a group

Implements MWAWListener.

◆ openLayer()

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

open a layer

◆ openLink()

void MWAWPresentationListener::openLink ( MWAWLink const & link)
finalvirtual

open a link

Implements MWAWListener.

◆ openMasterPage()

bool MWAWPresentationListener::openMasterPage ( MWAWPageSpan const & masterPage)

opens a master page

◆ openSection()

bool MWAWPresentationListener::openSection ( MWAWSection const & section)
finalvirtual

open a section if possible

Implements MWAWListener.

◆ openTable() [1/2]

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

open a table in a given position

◆ openTable() [2/2]

void MWAWPresentationListener::openTable ( MWAWTable const & table)
finalvirtual

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

Implements MWAWListener.

Referenced by openTable().

◆ openTableCell()

void MWAWPresentationListener::openTableCell ( MWAWCell const & cell)
finalvirtual

open a cell

Implements MWAWListener.

◆ openTableRow()

void MWAWPresentationListener::openTableRow ( float h,
librevenge::RVNGUnit unit,
bool headerRow = false )
finalvirtual

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

Implements MWAWListener.

◆ operator=()

MWAWPresentationListener & MWAWPresentationListener::operator= ( const MWAWPresentationListener & )
privatedelete

◆ setDocumentLanguage()

void MWAWPresentationListener::setDocumentLanguage ( std::string const & locale)
finalvirtual

sets the documents language

Implements MWAWListener.

◆ setDocumentMetaData()

void MWAWPresentationListener::setDocumentMetaData ( librevenge::RVNGPropertyList const & metadata)
finalvirtual

sets the documents metadata

Implements MWAWListener.

◆ setFont()

void MWAWPresentationListener::setFont ( MWAWFont const & font)
finalvirtual

sets the font

Implements MWAWListener.

◆ setParagraph()

void MWAWPresentationListener::setParagraph ( MWAWParagraph const & paragraph)
finalvirtual

sets the paragraph

Implements MWAWListener.

◆ startDocument()

void MWAWPresentationListener::startDocument ( )
finalvirtual

starts a new document

Implements MWAWListener.

Referenced by _openPageSpan(), and openMasterPage().

Member Data Documentation

◆ m_documentInterface

◆ m_ds

◆ m_parserState

MWAWParserState& MWAWPresentationListener::m_parserState
protected

◆ m_ps

◆ m_psStack

std::vector<std::shared_ptr<MWAWPresentationListenerInternal::State> > MWAWPresentationListener::m_psStack
protected

stack of local state

Referenced by _popParsingState(), _pushParsingState(), and MWAWPresentationListener().


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

Generated on Thu Jul 24 2025 00:00:00 for libmwaw by doxygen 1.14.0