34#ifndef STOFF_LISTENER_H
35#define STOFF_LISTENER_H
39#include <librevenge/librevenge.h>
93 virtual bool openHeader(librevenge::RVNGPropertyList
const &extras) = 0;
95 virtual bool openFooter(librevenge::RVNGPropertyList
const &extras) = 0;
118 for (
unsigned int i : list) {
176 virtual void openTableRow(
float h, librevenge::RVNGUnit unit,
bool headerRow=
false) = 0;
225 static bool first=
true;
227 STOFF_DEBUG_MSG((
"STOFFListener::insertTextBoxInShape: umimplemented, revert to basic insertTextBox\n"));
a structure used to define a cell and its format
Definition: STOFFCell.hxx:54
Class to store font.
Definition: STOFFFont.hxx:44
Class to store a frame style.
Definition: STOFFFrameStyle.hxx:46
a structure used to define a picture shape
Definition: STOFFGraphicShape.hxx:46
Class to store a graphic style.
Definition: STOFFGraphicStyle.hxx:45
This class contains a virtual interface to all listener.
Definition: STOFFListener.hxx:51
virtual void insertShape(STOFFFrameStyle const &frame, STOFFGraphicShape const &shape, STOFFGraphicStyle const &style)=0
adds a shape picture in given position
virtual void closeTableRow()=0
closes this row
virtual bool isDocumentStarted() const =0
returns true if a document is opened
virtual void insertEquation(STOFFFrameStyle const &frame, librevenge::RVNGString const &equation, STOFFGraphicStyle const &style=STOFFGraphicStyle())=0
adds a equation given a position
virtual void closeLink()=0
close a link
virtual void openTableCell(STOFFCell const &cell)=0
open a cell
virtual bool insertHeaderRegion(STOFFSubDocumentPtr subDocument, librevenge::RVNGString const &which)=0
insert a header
virtual void openLink(STOFFLink const &link)=0
open a link
virtual void addCoveredTableCell(STOFFVec2i const &pos)=0
add covered cell
virtual bool openSection(STOFFSection const §ion)=0
open a section if possible
virtual bool isSectionOpened() const =0
returns true if a section is opened
virtual void setFont(STOFFFont const &font)=0
sets the font
virtual void handleSubDocument(STOFFSubDocumentPtr subDocument, libstoff::SubDocumentType subDocumentType)=0
low level: function called to add a subdocument
Type
the listener type
Definition: STOFFListener.hxx:57
@ Spreadsheet
Definition: STOFFListener.hxx:57
@ Text
Definition: STOFFListener.hxx:57
@ Graphic
Definition: STOFFListener.hxx:57
@ Presentation
Definition: STOFFListener.hxx:57
virtual bool closeHeader()=0
close a header
virtual void insertUnicodeString(librevenge::RVNGString const &str)=0
adds a unicode string
virtual bool isParagraphOpened() const =0
returns true if a paragraph or a list is opened
virtual void openTable(STOFFTable const &table)=0
open a table
virtual void closeTable()=0
closes this table
virtual void setParagraph(STOFFParagraph const ¶graph)=0
sets the paragraph
virtual void insertField(STOFFField const &field)=0
adds a field type
virtual bool openFooter(librevenge::RVNGPropertyList const &extras)=0
open a footer (interaction with STOFFPageSpan which fills the parameters for openFooter)
virtual Type getType() const =0
returns the listener type
virtual STOFFParagraph const & getParagraph() const =0
returns the actual paragraph
STOFFListManagerPtr getListManager() const
return the list manager
Definition: STOFFListener.hxx:67
virtual bool openFrame(STOFFFrameStyle const &frame, STOFFGraphicStyle const &style=STOFFGraphicStyle())=0
low level: tries to open a frame
virtual void defineStyle(STOFFParagraph const &style)=0
defines a paragraph styles
void insertUnicodeList(std::vector< uint32_t > const &list)
try to insert a list of unicode character
Definition: STOFFListener.hxx:114
virtual bool openHeader(librevenge::RVNGPropertyList const &extras)=0
open a header (interaction with STOFFPageSpan which fills the parameters for openHeader)
virtual void insertNote(STOFFNote const ¬e, STOFFSubDocumentPtr &subDocument)=0
insert a note
virtual bool closeSection()=0
close a section
virtual bool isGraphicStyleDefined(librevenge::RVNGString const &name) const =0
check if a graphic style with a display name is already defined
virtual bool isParagraphStyleDefined(librevenge::RVNGString const &name) const =0
check if a paragraph style with a display name is already defined
virtual void endDocument(bool sendDelayedSubDoc=true)=0
ends the document
virtual void closeFrame()=0
low level: tries to close the last opened frame
virtual void insertEOL(bool softBreak=false)=0
adds an end of line ( by default an hard one)
BreakType
the different break type
Definition: STOFFListener.hxx:59
@ ColumnBreak
Definition: STOFFListener.hxx:59
@ SoftPageBreak
Definition: STOFFListener.hxx:59
@ PageBreak
Definition: STOFFListener.hxx:59
STOFFListManagerPtr m_listManager
the list manager
Definition: STOFFListener.hxx:250
virtual void closeTableCell()=0
close a cell
virtual bool insertFooterRegion(STOFFSubDocumentPtr subDocument, librevenge::RVNGString const &which)=0
insert a footer
virtual void defineStyle(STOFFGraphicStyle const &style)=0
defines a graphic styles
virtual void startDocument()=0
starts the document
virtual void insertBreak(BreakType breakType)=0
inserts a break type: ColumBreak, PageBreak, ..
virtual void addEmptyTableCell(STOFFVec2i const &pos, STOFFVec2i span=STOFFVec2i(1, 1))=0
add empty cell
virtual bool canWriteText() const =0
returns true if we can add text data
virtual bool isPageSpanOpened() const =0
returns true if a page is opened
virtual void insertChar(uint8_t character)=0
adds a basic character, ..
virtual ~STOFFListener()
destructor
Definition: STOFFListener.cxx:48
virtual void closeGroup()=0
low level: tries to close the last opened group
virtual bool canOpenSectionAddBreak() const =0
returns true if we can add open a section, add page break, ...
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 bool isSubDocumentOpened(libstoff::SubDocumentType &subdocType) const =0
returns true if a subdocument is open
virtual void insertUnicode(uint32_t character)=0
adds an unicode character.
virtual void setDocumentLanguage(std::string locale)=0
sets the documents language
virtual bool isFontStyleDefined(librevenge::RVNGString const &name) const =0
check if a font style with a display name is already defined
virtual STOFFFont const & getFont() const =0
returns the actual font
virtual void insertTextBox(STOFFFrameStyle const &frame, STOFFSubDocumentPtr subDocument, STOFFGraphicStyle const &frameStyle=STOFFGraphicStyle())=0
adds a textbox in given position
virtual void insertTab()=0
adds a tab
virtual bool isHeaderFooterOpened() const =0
returns true if the header/footer is open
virtual void insertPicture(STOFFFrameStyle const &frame, STOFFEmbeddedObject const &picture, STOFFGraphicStyle const &style=STOFFGraphicStyle())=0
adds a picture with various representationin given position.
virtual void insertComment(STOFFSubDocumentPtr &subDocument, librevenge::RVNGString const &creator="", librevenge::RVNGString const &date="")=0
adds comment
virtual STOFFPageSpan const & getPageSpan()=0
returns the current page span
virtual void setDocumentMetaData(const librevenge::RVNGPropertyList &list)=0
sets the document meta data
virtual STOFFSection const & getSection() const =0
returns the actual section
virtual bool openGroup(STOFFFrameStyle const &frame)=0
low level: tries to open a group
virtual bool closeFooter()=0
close a footer
virtual void defineStyle(STOFFFont const &style)=0
defines a font styles
A class which defines the page properties.
Definition: STOFFPageSpan.hxx:76
class to store the paragraph properties
Definition: STOFFParagraph.hxx:48
a class which stores section properties
Definition: STOFFSection.hxx:46
a class used to recreate the table structure using cell informations, ....
Definition: STOFFTable.hxx:52
std::shared_ptr< STOFFSubDocument > STOFFSubDocumentPtr
a smart pointer of STOFFSubDocument
Definition: libstaroffice_internal.hxx:499
std::shared_ptr< STOFFListManager > STOFFListManagerPtr
a smart pointer of STOFFListManager
Definition: libstaroffice_internal.hxx:493
STOFFVec2< int > STOFFVec2i
STOFFVec2 of int.
Definition: libstaroffice_internal.hxx:767
#define STOFF_DEBUG_MSG(M)
Definition: libstaroffice_internal.hxx:129
SubDocumentType
Definition: libstaroffice_internal.hxx:185
small class use to define a embedded object
Definition: libstaroffice_internal.hxx:408
a field
Definition: libstaroffice_internal.hxx:363
a link
Definition: libstaroffice_internal.hxx:375
a note
Definition: libstaroffice_internal.hxx:389