This class contents the main functions needed to create a Writer Document. More...
#include <MWAWContentListener.hxx>
Public Member Functions | |
MWAWContentListener (MWAWParserState &parserState, std::vector< MWAWPageSpan > const &pageList, WPXDocumentInterface *documentInterface) | |
constructor More... | |
virtual | ~MWAWContentListener () |
destructor 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 | 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, WPXPropertyList const &extras) |
insert a header More... | |
bool | insertFooter (MWAWSubDocumentPtr subDocument, WPXPropertyList const &extras) |
insert a footer More... | |
bool | isHeaderFooterOpened () const |
returns true if the header/footer is open 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 (WPXString 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 ¶graph) |
sets the paragraph More... | |
MWAWParagraph const & | getParagraph () const |
returns the actual paragraph More... | |
void | insertField (MWAWField const &field) |
adds a field type More... | |
void | insertNote (MWAWNote const ¬e, MWAWSubDocumentPtr &subDocument) |
insert a note More... | |
void | insertComment (MWAWSubDocumentPtr &subDocument) |
adds comment More... | |
void | insertPicture (MWAWPosition const &pos, const WPXBinaryData &binaryData, std::string type="image/pict", WPXPropertyList frameExtras=WPXPropertyList()) |
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, WPXPropertyList frameExtras=WPXPropertyList(), WPXPropertyList textboxExtras=WPXPropertyList()) |
adds a textbox in given position More... | |
void | openTable (MWAWTable const &table, WPXPropertyList tableExtras=WPXPropertyList()) |
open a table More... | |
void | closeTable () |
closes this table More... | |
void | openTableRow (float h, WPXUnit 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 (Vec2i const &pos, Vec2i span=Vec2i(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 §ion) |
open a section if possible More... | |
bool | closeSection () |
close a section More... | |
void | insertBreak (BreakType breakType) |
inserts a break type: ColumBreak, PageBreak, .. More... | |
![]() | |
virtual | ~MWAWListener () |
Protected Member Functions | |
void | _openSection () |
void | _closeSection () |
void | _openPageSpan (bool sendHeaderFooters=true) |
void | _closePageSpan () |
void | _startSubDocument () |
void | _endSubDocument () |
void | _handleFrameParameters (WPXPropertyList &propList, MWAWPosition const &pos) |
bool | openFrame (MWAWPosition const &pos, WPXPropertyList extras=WPXPropertyList()) |
void | closeFrame () |
void | _openParagraph () |
void | _closeParagraph () |
void | _appendParagraphProperties (WPXPropertyList &propList, const bool isListElement=false) |
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 () |
void | _insertBreakIfNecessary (WPXPropertyList &propList) |
shared_ptr < MWAWContentListenerInternal::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 < MWAWContentListenerInternal::DocumentState > | m_ds |
the main parse state More... | |
shared_ptr < MWAWContentListenerInternal::State > | m_ps |
the actual local parse state More... | |
std::vector< shared_ptr < MWAWContentListenerInternal::State > > | m_psStack |
stack of local state More... | |
MWAWParserState & | m_parserState |
the parser state More... | |
WPXDocumentInterface * | m_documentInterface |
the document interface More... | |
Private Member Functions | |
MWAWContentListener (const MWAWContentListener &) | |
MWAWContentListener & | operator= (const MWAWContentListener &) |
Additional Inherited Members | |
![]() | |
enum | BreakType { PageBreak =0, SoftPageBreak, ColumnBreak } |
the different break type More... | |
This class contents the main functions needed to create a Writer Document.
MWAWContentListener::MWAWContentListener | ( | MWAWParserState & | parserState, |
std::vector< MWAWPageSpan > const & | pageList, | ||
WPXDocumentInterface * | documentInterface | ||
) |
constructor
|
virtual |
destructor
|
private |
|
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 |
Referenced by _closeListElement(), _closeParagraph(), endDocument(), and insertBreak().
|
protected |
Referenced by _changeList(), _closeSection(), _endSubDocument(), closeTableCell(), endDocument(), insertBreak(), insertEOL(), insertNote(), and openTable().
|
protected |
Referenced by _closePageSpan(), _openListElement(), _openParagraph(), closeSection(), endDocument(), and handleSubDocument().
|
protected |
Referenced by _closeListElement(), _closeParagraph(), _flushDeferredTabs(), insertComment(), insertNote(), and setFont().
|
protected |
Referenced by closeTable(), and handleSubDocument().
|
protected |
Referenced by insertChar(), insertEOL(), insertField(), insertTab(), insertUnicode(), and insertUnicodeString().
|
protected |
Referenced by _closeSpan(), insertComment(), insertEOL(), insertField(), insertNote(), insertTab(), and openFrame().
|
protected |
low level: find a list id which corresponds to actual list and a change of level.
Referenced by _changeList().
|
protected |
Referenced by openFrame().
|
protected |
Referenced by _appendParagraphProperties().
|
protected |
open a list level
Referenced by _openSpan().
|
protected |
Referenced by _openSection(), endDocument(), and getPageSpan().
|
protected |
Referenced by _openSpan(), insertComment(), insertNote(), and openFrame().
|
protected |
Referenced by _changeList(), _openListElement(), _openParagraph(), and openSection().
|
protected |
Referenced by _flushDeferredTabs(), endDocument(), handleSubDocument(), insertBreak(), insertChar(), insertEOL(), insertField(), insertUnicode(), insertUnicodeString(), and openFrame().
|
protected |
resets the previous parsing state
Referenced by closeTable(), and handleSubDocument().
|
protected |
creates a new parsing state (copy of the actual state)
Referenced by handleSubDocument(), and openTable().
|
protected |
Referenced by _openListElement(), and _openParagraph().
|
protected |
Referenced by handleSubDocument(), and openTable().
add empty cell
|
virtual |
returns true if we can add open a section, add page break, ...
Implements MWAWListener.
|
inlinevirtual |
returns true if we can add text data
Implements MWAWListener.
|
protected |
|
virtual |
close a section
Implements MWAWListener.
void MWAWContentListener::closeTable | ( | ) |
closes this table
Referenced by _endSubDocument(), and endDocument().
void MWAWContentListener::closeTableCell | ( | ) |
close a cell
Referenced by addEmptyTableCell(), and openTableCell().
void MWAWContentListener::closeTableRow | ( | ) |
closes this row
void MWAWContentListener::endDocument | ( | bool | sendDelayedSubDoc = true | ) |
ends the document
|
virtual |
returns the actual font
Implements MWAWListener.
MWAWPageSpan const & MWAWContentListener::getPageSpan | ( | ) |
returns the current page span
Referenced by _openPageSpan().
|
virtual |
returns the actual paragraph
Implements MWAWListener.
|
virtual |
returns the actual section
Implements MWAWListener.
void MWAWContentListener::handleSubDocument | ( | MWAWSubDocumentPtr | subDocument, |
libmwaw::SubDocumentType | subDocumentType | ||
) |
function called to add a subdocument
Referenced by insertComment(), insertFooter(), insertHeader(), and insertNote().
|
virtual |
inserts a break type: ColumBreak, PageBreak, ..
Implements MWAWListener.
|
virtual |
|
virtual |
insert a character using the font converter to find the utf8 character
Implements MWAWListener.
|
virtual |
insert a character using the font converter to find the utf8 character and if needed, input to read extra character.
Implements MWAWListener.
void MWAWContentListener::insertComment | ( | MWAWSubDocumentPtr & | subDocument | ) |
adds comment
|
virtual |
adds an end of line ( by default an hard one)
Implements MWAWListener.
Referenced by MWAWHeaderFooter::insertPageNumberParagraph().
|
virtual |
adds a field type
Implements MWAWListener.
Referenced by MWAWHeaderFooter::insertPageNumberParagraph().
bool MWAWContentListener::insertFooter | ( | MWAWSubDocumentPtr | subDocument, |
WPXPropertyList const & | extras | ||
) |
insert a footer
Referenced by MWAWHeaderFooter::send().
bool MWAWContentListener::insertHeader | ( | MWAWSubDocumentPtr | subDocument, |
WPXPropertyList const & | extras | ||
) |
insert a header
Referenced by MWAWHeaderFooter::send().
void MWAWContentListener::insertNote | ( | MWAWNote const & | note, |
MWAWSubDocumentPtr & | subDocument | ||
) |
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.
void MWAWContentListener::insertPicture | ( | MWAWPosition const & | pos, |
const WPXBinaryData & | binaryData, | ||
std::string | type = "image/pict" , |
||
WPXPropertyList | frameExtras = WPXPropertyList() |
||
) |
adds a picture in given position
void MWAWContentListener::insertPicture | ( | MWAWPosition const & | pos, |
MWAWGraphicShape const & | shape, | ||
MWAWGraphicStyle const & | style | ||
) |
adds a shape picture in given position
|
virtual |
adds a tab
Implements MWAWListener.
void MWAWContentListener::insertTextBox | ( | MWAWPosition const & | pos, |
MWAWSubDocumentPtr | subDocument, | ||
WPXPropertyList | frameExtras = WPXPropertyList() , |
||
WPXPropertyList | textboxExtras = WPXPropertyList() |
||
) |
adds a textbox in given position
|
virtual |
adds an unicode character.
By convention if character=0xfffd(undef), no character is added
Implements MWAWListener.
Referenced by insertChar(), and insertCharacter().
|
virtual |
|
virtual |
bool MWAWContentListener::isHeaderFooterOpened | ( | ) | const |
returns true if the header/footer is open
bool MWAWContentListener::isPageSpanOpened | ( | ) | const |
returns true if a page is opened
|
virtual |
returns true if a paragraph or a list is opened
Implements MWAWListener.
Referenced by MWAWHeaderFooter::insertPageNumberParagraph().
|
virtual |
returns true if a section is opened
Implements MWAWListener.
|
virtual |
returns try if a subdocument is open
Implements MWAWListener.
|
protected |
|
virtual |
open a section if possible
Implements MWAWListener.
void MWAWContentListener::openTable | ( | MWAWTable const & | table, |
WPXPropertyList | tableExtras = WPXPropertyList() |
||
) |
open a table
void MWAWContentListener::openTableCell | ( | MWAWCell const & | cell | ) |
open a cell
void MWAWContentListener::openTableRow | ( | float | h, |
WPXUnit | unit, | ||
bool | headerRow = false |
||
) |
open a row with given height ( if h < 0.0, set min-row-height = -h )
|
private |
void MWAWContentListener::setDocumentLanguage | ( | std::string | locale | ) |
sets the documents language
|
virtual |
sets the font
Implements MWAWListener.
Referenced by _flushDeferredTabs(), and MWAWHeaderFooter::insertPageNumberParagraph().
|
virtual |
sets the paragraph
Implements MWAWListener.
Referenced by MWAWHeaderFooter::insertPageNumberParagraph().
void MWAWContentListener::startDocument | ( | ) |
starts the document
Referenced by _openPageSpan().
|
protected |
the document interface
Referenced by _changeList(), _closeListElement(), _closePageSpan(), _closeParagraph(), _closeSection(), _closeSpan(), _flushDeferredTabs(), _flushText(), _openListElement(), _openPageSpan(), _openParagraph(), _openSection(), _openSpan(), addEmptyTableCell(), closeFrame(), closeTable(), closeTableCell(), closeTableRow(), endDocument(), insertComment(), insertEOL(), insertField(), insertFooter(), insertHeader(), insertNote(), openFrame(), openTable(), openTableCell(), openTableRow(), and startDocument().
|
protected |
the main parse state
Referenced by _changeList(), _openPageSpan(), _startSubDocument(), endDocument(), handleSubDocument(), insertFooter(), insertHeader(), insertNote(), isDocumentStarted(), isHeaderFooterOpened(), openFrame(), setDocumentLanguage(), and startDocument().
|
protected |
the parser state
Referenced by _changeList(), _getListId(), _openSpan(), and insertCharacter().
|
protected |
the actual local parse state
Referenced by _appendParagraphProperties(), _changeList(), _closeListElement(), _closePageSpan(), _closeParagraph(), _closeSection(), _closeSpan(), _endSubDocument(), _flushDeferredTabs(), _flushText(), _getListId(), _insertBreakIfNecessary(), _openListElement(), _openPageSpan(), _openParagraph(), _openSection(), _openSpan(), _popParsingState(), _pushParsingState(), _resetParagraphState(), _startSubDocument(), addEmptyTableCell(), canOpenSectionAddBreak(), closeFrame(), closeSection(), closeTable(), closeTableCell(), closeTableRow(), endDocument(), getFont(), getPageSpan(), getParagraph(), getSection(), handleSubDocument(), insertBreak(), insertChar(), insertCharacter(), insertComment(), insertEOL(), insertNote(), insertTab(), insertUnicode(), insertUnicodeString(), isPageSpanOpened(), isParagraphOpened(), isSectionOpened(), isSubDocumentOpened(), openFrame(), openSection(), openTable(), openTableCell(), openTableRow(), setFont(), and setParagraph().
|
protected |
stack of local state
Referenced by _popParsingState(), and _pushParsingState().