WPSContentListener Class Reference

#include <WPSContentListener.h>

Public Types

enum  FieldType {
  None, PageNumber, Date, Time,
  Title, Link, Database
}
 Defines some basic type for field. More...
enum  NoteType { FOOTNOTE, ENDNOTE }
 defines the footnote type More...

Public Member Functions

 WPSContentListener (std::vector< WPSPageSpan > const &pageList, WPXDocumentInterface *documentInterface)
virtual ~WPSContentListener ()
void setDocumentLanguage (int lcid)
void startDocument ()
void endDocument ()
void handleSubDocument (WPSSubDocumentPtr &subDocument, libwps::SubDocumentType subDocumentType)
bool isHeaderFooterOpened () const
void insertCharacter (uint8_t character)
 adds a basic character, ..
void insertUnicode (uint32_t character)
 adds an unicode character
void insertUnicodeString (WPXString const &str)
 adds a unicode string
void insertTab ()
void insertEOL (bool softBreak=false)
void insertBreak (const uint8_t breakType)
void setTextFont (const WPXString &fontName)
void setFontSize (const uint16_t fontSize)
void setFontAttributes (const uint32_t fontAttributes)
void setTextLanguage (int lcid)
void setTextColor (const uint32_t rgb)
void setFont (const WPSFont &font)
bool isParagraphOpened () const
 returns true if a paragraph or a list is opened
void setParagraphLineSpacing (const double lineSpacing, WPXUnit unit=WPX_PERCENT)
void setParagraphJustification (libwps::Justification justification, bool force=false)
 Define the paragraph justification.
void setParagraphTextIndent (double margin)
 sets the first paragraph text indent.
void setParagraphMargin (double margin, int pos)
 sets the paragraph margin.
void setTabs (const std::vector< WPSTabStop > &tabStops)
 sets the tabulations.
void setParagraphBorders (int which, libwps::BorderStyle style=libwps::BorderSingle, int width=1, uint32_t color=0)
 indicates that the paragraph has a basic borders (ie.
void setCurrentList (shared_ptr< WPSList > list)
 function to set the actual list
shared_ptr< WPSListgetCurrentList () const
 returns the current list
void setCurrentListLevel (int level)
 function to set the level of the current list
void insertField (FieldType type)
 adds a field type
void insertDateTimeField (char const *format)
 insert a date/time field with given format (see strftime)
void insertNote (const NoteType noteType, WPSSubDocumentPtr &subDocument)
 adds note
void insertLabelNote (const NoteType noteType, WPXString const &label, WPSSubDocumentPtr &subDocument)
 adds a label note
void insertComment (WPSSubDocumentPtr &subDocument)
 adds comment
void insertPicture (WPSPosition const &pos, const WPXBinaryData &binaryData, std::string type="image/pict", WPXPropertyList frameExtras=WPXPropertyList())
 adds a picture in given position
void insertTextBox (WPSPosition const &pos, WPSSubDocumentPtr subDocument, WPXPropertyList frameExtras=WPXPropertyList())
 adds a textbox in given position
void openTable (std::vector< float > const &colWidth, WPXUnit unit)
 open a table
void closeTable ()
 closes this table
void openTableRow (float h, WPXUnit unit, bool headerRow=false)
 open a row with given height
void closeTableRow ()
 closes this row
void openTableCell (WPSCell const &cell, WPXPropertyList const &extras)
 low level function to define a cell.
void closeTableCell ()
 close a cell
bool isSectionOpened () const
 returns true if a section is opened
bool openSection (std::vector< int > colsWidth=std::vector< int >(), WPXUnit unit=WPX_INCH)
 open a section if possible
bool closeSection ()
 close a section

Static Public Member Functions

static void appendUnicode (uint32_t val, WPXString &buffer)
 adds an unicode character to a string ( with correct encoding ).

Protected Member Functions

void _openSection ()
void _closeSection ()
void _openPageSpan ()
void _closePageSpan ()
void _updatePageSpanDependent (bool set)
void _recomputeParagraphPositions ()
void _startSubDocument ()
void _endSubDocument ()
void _handleFrameParameters (WPXPropertyList &propList, WPSPosition const &pos)
bool _openFrame (WPSPosition const &pos, WPXPropertyList extras=WPXPropertyList())
void _closeFrame ()
void _openParagraph ()
void _closeParagraph ()
void _appendParagraphProperties (WPXPropertyList &propList, const bool isListElement=false)
void _getTabStops (WPXPropertyListVector &tabStops)
void _appendJustification (WPXPropertyList &propList, libwps::Justification justification)
void _resetParagraphState (const bool isListElement=false)
void _openListElement ()
void _closeListElement ()
void _changeList ()
void _openSpan ()
void _closeSpan ()
void _flushText ()
void _flushDeferredTabs ()
void _insertBreakIfNecessary (WPXPropertyList &propList)
shared_ptr
< WPSContentParsingState
_pushParsingState ()
 creates a new parsing state (copy of the actual state)
void _popParsingState ()
 resets the previous parsing state

Static Protected Member Functions

static void _addLanguage (int lcid, WPXPropertyList &propList)

Protected Attributes

shared_ptr
< WPSDocumentParsingState
m_ds
shared_ptr
< WPSContentParsingState
m_ps
std::vector< shared_ptr
< WPSContentParsingState > > 
m_psStack
WPXDocumentInterface * m_documentInterface

Private Member Functions

 WPSContentListener (const WPSContentListener &)
WPSContentListeneroperator= (const WPSContentListener &)

Member Enumeration Documentation

Defines some basic type for field.

Enumerator:
None 
PageNumber 
Date 
Time 
Title 
Link 
Database 

defines the footnote type

Enumerator:
FOOTNOTE 
ENDNOTE 

Constructor & Destructor Documentation

WPSContentListener::WPSContentListener ( std::vector< WPSPageSpan > const &  pageList,
WPXDocumentInterface *  documentInterface 
)
WPSContentListener::~WPSContentListener ( )
virtual
WPSContentListener::WPSContentListener ( const WPSContentListener )
private

Member Function Documentation

void WPSContentListener::_addLanguage ( int  lcid,
WPXPropertyList &  propList 
)
staticprotected

Referenced by _openSpan().

void WPSContentListener::_appendJustification ( WPXPropertyList &  propList,
libwps::Justification  justification 
)
protected
void WPSContentListener::_appendParagraphProperties ( WPXPropertyList &  propList,
const bool  isListElement = false 
)
protected

Referenced by _openListElement(), and _openParagraph().

void WPSContentListener::_changeList ( )
protected
void WPSContentListener::_closeFrame ( )
protected
void WPSContentListener::_closeListElement ( )
protected

Referenced by _closeParagraph().

void WPSContentListener::_closePageSpan ( )
protected
void WPSContentListener::_closeSection ( )
protected
void WPSContentListener::_endSubDocument ( )
protected

Referenced by closeTable(), and handleSubDocument().

void WPSContentListener::_flushDeferredTabs ( )
protected
void WPSContentListener::_flushText ( )
protected
void WPSContentListener::_getTabStops ( WPXPropertyListVector &  tabStops)
protected

Referenced by _openListElement(), and _openParagraph().

void WPSContentListener::_handleFrameParameters ( WPXPropertyList &  propList,
WPSPosition const &  pos 
)
protected

Referenced by _openFrame().

void WPSContentListener::_insertBreakIfNecessary ( WPXPropertyList &  propList)
protected
bool WPSContentListener::_openFrame ( WPSPosition const &  pos,
WPXPropertyList  extras = WPXPropertyList() 
)
protected
void WPSContentListener::_openListElement ( )
protected

Referenced by _openSpan().

void WPSContentListener::_openPageSpan ( )
protected

Referenced by _openSection().

void WPSContentListener::_openParagraph ( )
protected
void WPSContentListener::_openSection ( )
protected
void WPSContentListener::_popParsingState ( )
protected

resets the previous parsing state

Referenced by closeTable(), and handleSubDocument().

shared_ptr< WPSContentParsingState > WPSContentListener::_pushParsingState ( )
protected

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

Returns
the old one

Referenced by handleSubDocument(), and openTable().

void WPSContentListener::_recomputeParagraphPositions ( )
protected
void WPSContentListener::_resetParagraphState ( const bool  isListElement = false)
protected

Referenced by _openListElement(), and _openParagraph().

void WPSContentListener::_startSubDocument ( )
protected

Referenced by handleSubDocument(), and openTable().

void WPSContentListener::_updatePageSpanDependent ( bool  set)
protected
void WPSContentListener::appendUnicode ( uint32_t  val,
WPXString &  buffer 
)
static

adds an unicode character to a string ( with correct encoding ).

Referenced by WPS4Text::footNotesDataParser(), insertUnicode(), and WPS4Text::readParagraph().

bool WPSContentListener::closeSection ( )

close a section

void WPSContentListener::closeTable ( )

closes this table

Referenced by _endSubDocument(), and endDocument().

void WPSContentListener::closeTableCell ( )

close a cell

Referenced by openTableCell().

void WPSContentListener::closeTableRow ( )

closes this row

void WPSContentListener::endDocument ( )
shared_ptr< WPSList > WPSContentListener::getCurrentList ( ) const

returns the current list

void WPSContentListener::handleSubDocument ( WPSSubDocumentPtr subDocument,
libwps::SubDocumentType  subDocumentType 
)
void WPSContentListener::insertBreak ( const uint8_t  breakType)
void WPSContentListener::insertCharacter ( uint8_t  character)

adds a basic character, ..

void WPSContentListener::insertComment ( WPSSubDocumentPtr subDocument)

adds comment

void WPSContentListener::insertDateTimeField ( char const *  format)

insert a date/time field with given format (see strftime)

Referenced by insertField().

void WPSContentListener::insertEOL ( bool  softBreak = false)
void WPSContentListener::insertField ( WPSContentListener::FieldType  type)

adds a field type

void WPSContentListener::insertLabelNote ( const NoteType  noteType,
WPXString const &  label,
WPSSubDocumentPtr subDocument 
)

adds a label 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.

Referenced by insertNote().

void WPSContentListener::insertNote ( const NoteType  noteType,
WPSSubDocumentPtr subDocument 
)

adds note

void WPSContentListener::insertPicture ( WPSPosition const &  pos,
const WPXBinaryData &  binaryData,
std::string  type = "image/pict",
WPXPropertyList  frameExtras = WPXPropertyList() 
)

adds a picture in given position

void WPSContentListener::insertTab ( )
void WPSContentListener::insertTextBox ( WPSPosition const &  pos,
WPSSubDocumentPtr  subDocument,
WPXPropertyList  frameExtras = WPXPropertyList() 
)

adds a textbox in given position

void WPSContentListener::insertUnicode ( uint32_t  character)

adds an unicode character

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

Referenced by insertCharacter().

void WPSContentListener::insertUnicodeString ( WPXString const &  str)

adds a unicode string

Referenced by insertDateTimeField(), and insertField().

bool WPSContentListener::isHeaderFooterOpened ( ) const
bool WPSContentListener::isParagraphOpened ( ) const

returns true if a paragraph or a list is opened

bool WPSContentListener::isSectionOpened ( ) const

returns true if a section is opened

bool WPSContentListener::openSection ( std::vector< int >  colsWidth = std::vector<int>(),
WPXUnit  unit = WPX_INCH 
)

open a section if possible

void WPSContentListener::openTable ( std::vector< float > const &  colWidth,
WPXUnit  unit 
)

open a table

void WPSContentListener::openTableCell ( WPSCell const &  cell,
WPXPropertyList const &  extras 
)

low level function to define a cell.

Parameters
cellthe cell position, alignement, ...
extrasto be used to pass extra data, for instance spreadsheet data
void WPSContentListener::openTableRow ( float  h,
WPXUnit  unit,
bool  headerRow = false 
)

open a row with given height

WPSContentListener& WPSContentListener::operator= ( const WPSContentListener )
private
void WPSContentListener::setCurrentList ( shared_ptr< WPSList list)

function to set the actual list

void WPSContentListener::setCurrentListLevel ( int  level)

function to set the level of the current list

Warning
minimal implementation...
void WPSContentListener::setDocumentLanguage ( int  lcid)
void WPSContentListener::setFont ( const WPSFont font)
void WPSContentListener::setFontAttributes ( const uint32_t  fontAttributes)

Referenced by _flushDeferredTabs(), and setFont().

void WPSContentListener::setFontSize ( const uint16_t  fontSize)

Referenced by setFont().

void WPSContentListener::setParagraphBorders ( int  which,
libwps::BorderStyle  style = libwps::BorderSingle,
int  width = 1,
uint32_t  color = 0 
)

indicates that the paragraph has a basic borders (ie.

a black line)

Parameters
which= libwps::LeftBorderBit | ...
style= libwps::BorderSingle | libwps::BorderDouble
width= 1,2,3,...
color,:the border color
void WPSContentListener::setParagraphJustification ( libwps::Justification  justification,
bool  force = false 
)

Define the paragraph justification.

You can set force=true to force a break if there is a justification change

void WPSContentListener::setParagraphLineSpacing ( const double  lineSpacing,
WPXUnit  unit = WPX_PERCENT 
)
void WPSContentListener::setParagraphMargin ( double  margin,
int  pos 
)

sets the paragraph margin.

Parameters
marginis given in inches
posin WPS_LEFT, WPS_RIGHT, WPS_TOP, WPS_BOTTOM
void WPSContentListener::setParagraphTextIndent ( double  margin)

sets the first paragraph text indent.

Warning
unit are given in inches
void WPSContentListener::setTabs ( const std::vector< WPSTabStop > &  tabStops)

sets the tabulations.

Parameters
tabStopsthe tabulations
void WPSContentListener::setTextColor ( const uint32_t  rgb)

Referenced by setFont().

void WPSContentListener::setTextFont ( const WPXString &  fontName)

Referenced by setFont().

void WPSContentListener::setTextLanguage ( int  lcid)

Referenced by setFont().

void WPSContentListener::startDocument ( )

Referenced by _openPageSpan().

Member Data Documentation

std::vector<shared_ptr<WPSContentParsingState> > WPSContentListener::m_psStack
protected

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

Generated on Wed Aug 8 2012 16:07:58 for libwps by doxygen 1.8.1.2