This class contents the main functions needed to create a Word processing Document. More...
#include <MWAWTextListener.hxx>
Public Member Functions | |
MWAWTextListener (MWAWParserState &parserState, std::vector< MWAWPageSpan > const &pageList, librevenge::RVNGTextInterface *documentInterface) | |
constructor | |
~MWAWTextListener () 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 the document | |
void | endDocument (bool sendDelayedSubDoc=true) final |
ends the document | |
bool | isDocumentStarted () const final |
returns true if a document is opened | |
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 |
tries to open a frame | |
void | closeFrame () final |
tries to close the last open frame | |
bool | openGroup (MWAWPosition const &pos) final |
open a group | |
void | closeGroup () final |
close a group | |
bool | canWriteText () const final |
returns true if we can add text data | |
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 ¶graph) 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 | insertNote (MWAWNote const ¬e, MWAWSubDocumentPtr &subDocument) final |
insert a note | |
void | insertComment (MWAWSubDocumentPtr &subDocument) final |
adds comment | |
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 &frameStyle=MWAWGraphicStyle::emptyStyle()) final |
adds a textbox in given position | |
void | openTable (MWAWTable const &table) final |
open a table | |
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 §ion) final |
open a section if possible | |
bool | closeSection () final |
close a section | |
void | insertBreak (BreakType breakType) final |
inserts a break type: ColumBreak, PageBreak, .. | |
![]() | |
virtual | ~MWAWListener () |
destructor | |
virtual Type | getType () const =0 |
returns the listener type | |
virtual bool | canWriteText () const =0 |
returns true if we can add text data | |
virtual void | setDocumentMetaData (librevenge::RVNGPropertyList const &metadata)=0 |
sets the documents metadata | |
virtual void | setDocumentLanguage (std::string const &locale)=0 |
sets the documents language | |
virtual void | startDocument ()=0 |
starts the document | |
virtual bool | isDocumentStarted () const =0 |
returns true if a document is opened | |
virtual void | endDocument (bool sendDelayedSubDoc=true)=0 |
ends the document | |
virtual bool | isPageSpanOpened () const =0 |
returns true if a page is opened | |
virtual MWAWPageSpan const & | getPageSpan ()=0 |
returns the current page span | |
virtual bool | insertHeader (MWAWSubDocumentPtr const &subDocument, librevenge::RVNGPropertyList const &extras)=0 |
insert a header (interaction with MWAWPageSpan which fills the parameters for openHeader) | |
virtual bool | insertFooter (MWAWSubDocumentPtr const &subDocument, librevenge::RVNGPropertyList const &extras)=0 |
insert a footer (interaction with MWAWPageSpan which fills the parameters for openFooter) | |
virtual bool | isHeaderFooterOpened () const =0 |
returns true if the header/footer is open | |
virtual void | insertChar (uint8_t character)=0 |
adds a basic character, .. | |
virtual void | insertCharacter (unsigned char c)=0 |
insert a character using the font converter to find the utf8 character | |
virtual int | insertCharacter (unsigned char c, MWAWInputStreamPtr &input, long endPos=-1)=0 |
insert a character using the font converter to find the utf8 character and if needed, input to read extra character. | |
virtual void | insertUnicode (uint32_t character)=0 |
adds an unicode character. | |
virtual void | insertUnicodeString (librevenge::RVNGString const &str)=0 |
adds a unicode string | |
virtual void | insertTab ()=0 |
adds a tab | |
virtual void | insertEOL (bool softBreak=false)=0 |
adds an end of line ( by default an hard one) | |
virtual void | setFont (MWAWFont const &font)=0 |
sets the font | |
virtual MWAWFont const & | getFont () const =0 |
returns the actual font | |
virtual bool | isParagraphOpened () const =0 |
returns true if a paragraph or a list is opened | |
virtual void | setParagraph (MWAWParagraph const ¶graph)=0 |
sets the paragraph | |
virtual MWAWParagraph const & | getParagraph () const =0 |
returns the actual paragraph | |
virtual void | insertField (MWAWField const &field)=0 |
adds a field type | |
virtual void | openLink (MWAWLink const &link)=0 |
open a link | |
virtual void | closeLink ()=0 |
close a link | |
virtual void | openTable (MWAWTable const &table)=0 |
open a table | |
virtual void | closeTable ()=0 |
closes this table | |
virtual void | openTableRow (float h, librevenge::RVNGUnit unit, bool headerRow=false)=0 |
open a row with given height ( if h < 0.0, set min-row-height = -h ) | |
virtual void | closeTableRow ()=0 |
closes this row | |
virtual void | openTableCell (MWAWCell const &cell)=0 |
open a cell | |
virtual void | closeTableCell ()=0 |
close a cell | |
virtual void | addEmptyTableCell (MWAWVec2i const &pos, MWAWVec2i span=MWAWVec2i(1, 1))=0 |
add empty cell | |
virtual bool | canOpenSectionAddBreak () const =0 |
returns true if we can add open a section, add page break, ... | |
virtual bool | isSectionOpened () const =0 |
returns true if a section is opened | |
virtual MWAWSection const & | getSection () const =0 |
returns the actual section | |
virtual bool | openSection (MWAWSection const §ion)=0 |
open a section if possible | |
virtual bool | closeSection ()=0 |
close a section | |
virtual void | insertBreak (BreakType breakType)=0 |
inserts a break type: ColumBreak, PageBreak, .. | |
virtual void | insertNote (MWAWNote const ¬e, MWAWSubDocumentPtr &subDocument)=0 |
insert a note | |
virtual void | insertComment (MWAWSubDocumentPtr &subDocument)=0 |
adds comment | |
virtual void | insertPicture (MWAWPosition const &pos, MWAWEmbeddedObject const &picture, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())=0 |
adds a picture with various representationin given position. | |
virtual void | insertShape (MWAWPosition const &pos, MWAWGraphicShape const &shape, MWAWGraphicStyle const &style)=0 |
adds a shape picture in given position | |
virtual void | insertTextBox (MWAWPosition const &pos, MWAWSubDocumentPtr const &subDocument, MWAWGraphicStyle const &frameStyle=MWAWGraphicStyle::emptyStyle())=0 |
adds a textbox in given position | |
virtual void | insertTextBoxInShape (MWAWPosition const &pos, MWAWSubDocumentPtr const &subDocument, MWAWGraphicShape const &, MWAWGraphicStyle const &frameStyle=MWAWGraphicStyle::emptyStyle()) |
adds a textbox in given position | |
virtual bool | openFrame (MWAWPosition const &pos, MWAWGraphicStyle const &style=MWAWGraphicStyle::emptyStyle())=0 |
low level: tries to open a frame | |
virtual void | closeFrame ()=0 |
low level: tries to close the last opened frame | |
virtual bool | openGroup (MWAWPosition const &pos)=0 |
low level: tries to open a group | |
virtual void | closeGroup ()=0 |
low level: tries to close the last opened group | |
virtual void | handleSubDocument (MWAWSubDocumentPtr const &subDocument, libmwaw::SubDocumentType subDocumentType)=0 |
low level: function called to add a subdocument | |
virtual bool | isSubDocumentOpened (libmwaw::SubDocumentType &subdocType) const =0 |
returns true if a subdocument is open | |
Protected Member Functions | |
void | _openSection () |
does open a section (low level) | |
void | _closeSection () |
does close a section (low level) | |
void | _openPageSpan (bool sendHeaderFooters=true) |
does open a new page (low level) | |
void | _closePageSpan () |
does close a page (low level) | |
void | _startSubDocument () |
void | _endSubDocument () |
void | _handleFrameParameters (librevenge::RVNGPropertyList &propList, MWAWPosition const &pos) |
void | _openParagraph () |
void | _closeParagraph () |
void | _appendParagraphProperties (librevenge::RVNGPropertyList &propList, const bool isListElement=false) |
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 () |
low level: the function which opens a new span property | |
void | _closeSpan () |
low level: the function which closes the last opened span property | |
void | _flushText () |
low level: flush the deferred text | |
void | _flushDeferredTabs () |
low level: flush the deferred tabs | |
void | _insertBreakIfNecessary (librevenge::RVNGPropertyList &propList) |
std::shared_ptr< MWAWTextListenerInternal::State > | _pushParsingState () |
creates a new parsing state (copy of the actual state) | |
void | _popParsingState () |
resets the previous parsing state | |
Protected Attributes | |
std::shared_ptr< MWAWTextListenerInternal::DocumentState > | m_ds |
the main parse state | |
std::shared_ptr< MWAWTextListenerInternal::State > | m_ps |
the actual local parse state | |
std::vector< std::shared_ptr< MWAWTextListenerInternal::State > > | m_psStack |
stack of local state | |
MWAWParserState & | m_parserState |
the parser state | |
librevenge::RVNGTextInterface * | m_documentInterface |
the document interface | |
Private Member Functions | |
MWAWTextListener (const MWAWTextListener &)=delete | |
copy constructor (unimplemented) | |
MWAWTextListener & | operator= (const MWAWTextListener &)=delete |
operator= (unimplemented) | |
Additional Inherited Members | |
![]() | |
enum | Type { Graphic , Presentation , Spreadsheet , Text } |
the listener type More... | |
enum | BreakType { PageBreak =0 , SoftPageBreak , ColumnBreak } |
the different break type More... | |
This class contents the main functions needed to create a Word processing Document.
MWAWTextListener::MWAWTextListener | ( | MWAWParserState & | parserState, |
std::vector< MWAWPageSpan > const & | pageList, | ||
librevenge::RVNGTextInterface * | documentInterface | ||
) |
constructor
|
final |
destructor
|
privatedelete |
copy constructor (unimplemented)
|
protected |
Referenced by _openListElement(), and _openParagraph().
|
protected |
update the list so that it corresponds to the actual level
Referenced by _closeSection(), _endSubDocument(), _openSpan(), closeTableCell(), endDocument(), and insertNote().
|
protected |
close a list level
Referenced by _closeParagraph().
|
protected |
does close a page (low level)
Referenced by _closeListElement(), _closeParagraph(), endDocument(), and insertBreak().
|
protected |
Referenced by _changeList(), _closeSection(), _endSubDocument(), closeTableCell(), endDocument(), insertBreak(), insertEOL(), insertNote(), and openTable().
|
protected |
does close a section (low level)
Referenced by _closePageSpan(), _openListElement(), _openParagraph(), closeSection(), endDocument(), and handleSubDocument().
|
protected |
low level: the function which closes the last opened span property
Referenced by _closeListElement(), _closeParagraph(), _flushDeferredTabs(), closeLink(), insertComment(), insertNote(), and setFont().
|
protected |
Referenced by closeGroup(), closeTable(), and handleSubDocument().
|
protected |
low level: flush the deferred tabs
Referenced by insertChar(), insertEOL(), insertField(), insertTab(), insertUnicode(), and insertUnicodeString().
|
protected |
low level: flush the deferred text
Referenced by _closeSpan(), insertComment(), insertEOL(), insertField(), insertNote(), insertShape(), insertTab(), openFrame(), and openGroup().
|
protected |
low level: find a list id which corresponds to actual list and a change of level.
Referenced by _changeList().
|
protected |
Referenced by insertShape(), openFrame(), and openGroup().
|
protected |
Referenced by _appendParagraphProperties().
|
protected |
open a list level
Referenced by _openSpan().
|
protected |
does open a new page (low level)
Referenced by _openSection(), endDocument(), and getPageSpan().
|
protected |
Referenced by _openSpan(), insertComment(), insertNote(), insertShape(), openFrame(), and openGroup().
|
protected |
does open a section (low level)
Referenced by _changeList(), _openListElement(), _openParagraph(), and openSection().
|
protected |
low level: the function which opens a new span property
Referenced by _flushDeferredTabs(), endDocument(), handleSubDocument(), insertBreak(), insertChar(), insertEOL(), insertField(), insertShape(), insertUnicode(), insertUnicodeString(), openFrame(), openGroup(), and openLink().
|
protected |
resets the previous parsing state
Referenced by closeGroup(), closeLink(), closeTable(), and handleSubDocument().
|
protected |
creates a new parsing state (copy of the actual state)
Referenced by handleSubDocument(), openGroup(), openLink(), and openTable().
|
protected |
Referenced by _openListElement(), and _openParagraph().
|
protected |
Referenced by handleSubDocument(), openGroup(), and openTable().
|
finalvirtual |
add empty cell
Implements MWAWListener.
|
finalvirtual |
returns true if we can add open a section, add page break, ...
Implements MWAWListener.
|
inlinefinalvirtual |
returns true if we can add text data
Implements MWAWListener.
|
finalvirtual |
tries to close the last open frame
Implements MWAWListener.
Referenced by insertPicture(), insertShape(), and insertTextBox().
|
finalvirtual |
close a group
Implements MWAWListener.
|
finalvirtual |
close a link
Implements MWAWListener.
|
finalvirtual |
close a section
Implements MWAWListener.
|
finalvirtual |
|
finalvirtual |
|
finalvirtual |
closes this row
Implements MWAWListener.
|
finalvirtual |
ends the document
Implements MWAWListener.
|
finalvirtual |
returns the actual font
Implements MWAWListener.
|
finalvirtual |
returns the current page span
Implements MWAWListener.
|
finalvirtual |
returns the actual paragraph
Implements MWAWListener.
|
finalvirtual |
returns the actual section
Implements MWAWListener.
|
inlinefinalvirtual |
returns the listener type
Implements MWAWListener.
|
finalvirtual |
function called to add a subdocument
Implements MWAWListener.
Referenced by insertComment(), insertFooter(), insertHeader(), insertNote(), and insertTextBox().
|
finalvirtual |
inserts a break type: ColumBreak, PageBreak, ..
Implements MWAWListener.
|
finalvirtual |
|
finalvirtual |
insert a character using the font converter to find the utf8 character
Implements MWAWListener.
|
finalvirtual |
insert a character using the font converter to find the utf8 character and if needed, input to read extra character.
Implements MWAWListener.
|
finalvirtual |
adds comment
Implements MWAWListener.
|
finalvirtual |
adds an end of line ( by default an hard one)
Implements MWAWListener.
|
finalvirtual |
adds a field type
Implements MWAWListener.
|
finalvirtual |
insert a footer
Implements MWAWListener.
|
finalvirtual |
insert a header
Implements MWAWListener.
|
finalvirtual |
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.
|
finalvirtual |
adds a picture with potential various representationin given position
Implements MWAWListener.
|
finalvirtual |
adds a shape picture in given position
Implements MWAWListener.
|
finalvirtual |
adds a tab
Implements MWAWListener.
|
finalvirtual |
adds a textbox in given position
Implements MWAWListener.
|
finalvirtual |
adds an unicode character.
By convention if character=0xfffd(undef), no character is added
Implements MWAWListener.
Referenced by insertChar(), and insertCharacter().
|
finalvirtual |
|
finalvirtual |
|
finalvirtual |
returns true if the header/footer is open
Implements MWAWListener.
|
finalvirtual |
returns true if a page is opened
Implements MWAWListener.
|
finalvirtual |
returns true if a paragraph or a list is opened
Implements MWAWListener.
|
finalvirtual |
returns true if a section is opened
Implements MWAWListener.
|
finalvirtual |
returns try if a subdocument is open
Implements MWAWListener.
|
finalvirtual |
tries to open a frame
Implements MWAWListener.
Referenced by insertPicture(), insertShape(), and insertTextBox().
|
finalvirtual |
open a group
Implements MWAWListener.
|
finalvirtual |
open a link
Implements MWAWListener.
|
finalvirtual |
open a section if possible
Implements MWAWListener.
|
finalvirtual |
open a table
Implements MWAWListener.
|
finalvirtual |
open a cell
Implements MWAWListener.
|
finalvirtual |
open a row with given height ( if h < 0.0, set min-row-height = -h )
Implements MWAWListener.
|
privatedelete |
operator= (unimplemented)
|
finalvirtual |
sets the documents language
Implements MWAWListener.
|
finalvirtual |
sets the documents metadata
Implements MWAWListener.
|
finalvirtual |
|
finalvirtual |
sets the paragraph
Implements MWAWListener.
|
finalvirtual |
|
protected |
the document interface
Referenced by _changeList(), _closeListElement(), _closePageSpan(), _closeParagraph(), _closeSection(), _closeSpan(), _flushDeferredTabs(), _flushText(), _openListElement(), _openPageSpan(), _openParagraph(), _openSection(), _openSpan(), addEmptyTableCell(), closeFrame(), closeGroup(), closeLink(), closeTable(), closeTableCell(), closeTableRow(), endDocument(), insertComment(), insertEOL(), insertField(), insertFooter(), insertHeader(), insertNote(), insertPicture(), insertShape(), insertTextBox(), openFrame(), openGroup(), openLink(), openTable(), openTableCell(), openTableRow(), and startDocument().
|
protected |
the main parse state
Referenced by _appendParagraphProperties(), _changeList(), _handleFrameParameters(), _openPageSpan(), _startSubDocument(), endDocument(), getPageSpan(), handleSubDocument(), insertFooter(), insertHeader(), insertNote(), isDocumentStarted(), isHeaderFooterOpened(), openFrame(), openGroup(), setDocumentLanguage(), setDocumentMetaData(), and startDocument().
|
protected |
the parser state
Referenced by _changeList(), _getListId(), _openSpan(), insertCharacter(), insertShape(), and openTableCell().
|
protected |
the actual local parse state
Referenced by _appendParagraphProperties(), _changeList(), _closeListElement(), _closePageSpan(), _closeParagraph(), _closeSection(), _closeSpan(), _endSubDocument(), _flushDeferredTabs(), _flushText(), _getListId(), _handleFrameParameters(), _insertBreakIfNecessary(), _openListElement(), _openPageSpan(), _openParagraph(), _openSection(), _openSpan(), _popParsingState(), _pushParsingState(), _resetParagraphState(), _startSubDocument(), addEmptyTableCell(), canOpenSectionAddBreak(), closeFrame(), closeGroup(), closeLink(), closeSection(), closeTable(), closeTableCell(), closeTableRow(), endDocument(), getFont(), getPageSpan(), getParagraph(), getSection(), handleSubDocument(), insertBreak(), insertChar(), insertCharacter(), insertComment(), insertEOL(), insertNote(), insertShape(), insertTab(), insertUnicode(), insertUnicodeString(), isPageSpanOpened(), isParagraphOpened(), isSectionOpened(), isSubDocumentOpened(), openFrame(), openGroup(), openLink(), openSection(), openTable(), openTableCell(), openTableRow(), setFont(), and setParagraph().
|
protected |
stack of local state
Referenced by _popParsingState(), and _pushParsingState().