libetonyek::IWAParser Class Referenceabstract

#include <IWAParser.h>

Inheritance diagram for libetonyek::IWAParser:
libetonyek::KEY6Parser libetonyek::NUM3Parser libetonyek::PAG5Parser

Classes

struct  ConditionRule
 
struct  Format
 
class  ObjectMessage
 
struct  PageMaster
 
struct  TableHeader
 
struct  TableInfo
 

Public Member Functions

 IWAParser (const RVNGInputStreamPtr_t &fragments, const RVNGInputStreamPtr_t &package, IWORKCollector &collector)
 
virtual ~IWAParser ()
 
bool parse ()
 

Protected Types

typedef std::map< unsigned, IWORKStylePtr_tStyleMap_t
 
typedef std::function< void(unsigned, IWORKStylePtr_t &)> StyleParseFun_t
 

Protected Member Functions

bool readFill (const IWAMessage &msg, IWORKFill &fill)
 
bool dispatchShape (unsigned id)
 
bool dispatchShapeWithMessage (const IWAMessage &msg, unsigned type)
 
bool parseText (unsigned id, bool createNoteAsFootnote=true, const std::function< void(unsigned, IWORKStylePtr_t)> &openPageSpan=nullptr)
 
void parseComment (unsigned id)
 
void parseAuthorInComment (unsigned id)
 
void parseCustomFormat (unsigned id)
 
virtual bool parseShapePlacement (const IWAMessage &msg, IWORKGeometryPtr_t &geometry, boost::optional< unsigned > &flags)
 
void parseMask (unsigned id, IWORKGeometryPtr_t &geometry, IWORKPathPtr_t &path)
 
void updateGeometryUsingTextRef (unsigned id, IWORKGeometry &geometry, unsigned flags)
 
const IWORKStylePtr_t queryCharacterStyle (unsigned id) const
 
const IWORKStylePtr_t queryDropCapStyle (unsigned id) const
 
const IWORKStylePtr_t queryParagraphStyle (unsigned id) const
 
const IWORKStylePtr_t querySectionStyle (unsigned id) const
 
const IWORKStylePtr_t queryGraphicStyle (unsigned id) const
 
const IWORKStylePtr_t queryMediaStyle (unsigned id) const
 
const IWORKStylePtr_t queryCellStyle (unsigned id) const
 
const IWORKStylePtr_t queryTableStyle (unsigned id) const
 
const IWORKStylePtr_t queryListStyle (unsigned id) const
 
const IWORKStylePtr_t queryStyle (unsigned id, StyleMap_t &styleMap, StyleParseFun_t parse) const
 
boost::optional< unsigned > getObjectType (unsigned id) const
 

Static Protected Member Functions

static boost::optional< unsigned > readRef (const IWAMessage &msg, unsigned field)
 
static std::deque< unsigned > readRefs (const IWAMessage &msg, unsigned field)
 
static boost::optional< IWORKPositionreadPosition (const IWAMessage &msg, unsigned field)
 
static boost::optional< IWORKSizereadSize (const IWAMessage &msg, unsigned field)
 
static boost::optional< IWORKColorreadColor (const IWAMessage &msg, unsigned field)
 
static boost::optional< std::string > readUUID (const IWAMessage &msg, unsigned field)
 
static boost::optional< uint64_t > readUID (const IWAMessage &msg, unsigned field)
 
static std::deque< uint64_t > readUIDs (const IWAMessage &msg, unsigned field)
 
static void readStroke (const IWAMessage &msg, IWORKStroke &stroke)
 
static void readGradient (const IWAMessage &msg, IWORKGradient &gradient)
 
static void readShadow (const IWAMessage &msg, IWORKShadow &shadow)
 
static void readPadding (const IWAMessage &msg, IWORKPadding &padding)
 
static void readDropCap (const IWAMessage &msg, IWORKDropCap &cap)
 

Protected Attributes

IWORKFormatNameMap m_formatNameMap
 
IWORKLanguageManager m_langManager
 
IWORKTableNameMapPtr_t m_tableNameMap
 
std::shared_ptr< IWORKTextm_currentText
 

Private Types

typedef std::map< unsigned, boost::variant< std::string, unsigned, IWORKFormulaPtr_t, Format > > DataList_t
 
typedef std::deque< ConditionRuleConditionRule_t
 
typedef std::map< unsigned, ConditionRule_tConditionRuleList_t
 

Private Member Functions

 IWAParser (const IWAParser &)
 
IWAParseroperator= (const IWAParser &)
 
virtual bool parseDocument ()=0
 
void queryObject (unsigned id, unsigned &type, boost::optional< IWAMessage > &msg) const
 
const RVNGInputStreamPtr_t queryFile (unsigned id) const
 
void parseObjectIndex ()
 
void parseCharacterStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseDropCapStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseParagraphStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseSectionStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseGraphicStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseMediaStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseCellStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseTableStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseListStyle (unsigned id, IWORKStylePtr_t &style)
 
void parseHeaderAndFooter (unsigned id, IWORKPageMaster &hf)
 
void parsePageMaster (unsigned id, PageMaster &pageMaster)
 
void parseTabularModel (unsigned id)
 
void parseDataList (unsigned id, DataList_t &dataList)
 
void parseTile (unsigned id, unsigned decalY)
 
void parseTileDefinition (unsigned row, unsigned col, RVNGInputStreamPtr_t &input, unsigned endPos, bool oldFormat)
 
void parseTableHeaders (unsigned id, TableHeader &header)
 
void parseTableGridLines (unsigned id, IWORKGridLineMap_t(&gridLines)[4])
 
void parseTableGridLine (unsigned id, IWORKGridLineMap_t &gridLines)
 
void parseLink (unsigned id, std::string &url)
 
bool parseAttachment (unsigned id)
 
bool parseConditionRules (unsigned id, ConditionRule_t &rules)
 
bool parseDrawableShape (const IWAMessage &msg, bool isConnectionLine=false)
 
bool parseGroup (const IWAMessage &msg)
 
bool parseShapePlacement (const IWAMessage &msg)
 
bool parseImage (const IWAMessage &msg)
 
bool parseTabularInfo (const IWAMessage &msg)
 
bool parsePath (const IWAMessage &msg, IWORKPathPtr_t &path)
 
bool parseFormula (const IWAMessage &msg, IWORKFormulaPtr_t &formula)
 
bool parseFormat (const IWAMessage &msg, Format &format)
 
virtual bool parseStickyNote (const IWAMessage &msg)
 
bool parseArrowProperties (const IWAMessage &msg, IWORKPropertyMap &props, bool headArrow)
 
void parseCharacterProperties (const IWAMessage &msg, IWORKPropertyMap &props)
 
void parseColumnsProperties (const IWAMessage &msg, IWORKPropertyMap &props)
 

Private Attributes

IWORKCollectorm_collector
 
IWAObjectIndex m_index
 
std::deque< unsigned > m_visited
 
StyleMap_t m_charStyles
 
StyleMap_t m_dropCapStyles
 
StyleMap_t m_paraStyles
 
StyleMap_t m_sectionStyles
 
StyleMap_t m_graphicStyles
 
StyleMap_t m_mediaStyles
 
StyleMap_t m_cellStyles
 
StyleMap_t m_tableStyles
 
StyleMap_t m_listStyles
 
std::shared_ptr< TableInfom_currentTable
 
std::map< uint64_t, Formatm_uidFormatMap
 

Friends

class IWAObjectIndex
 
class ObjectMessage
 

Member Typedef Documentation

◆ ConditionRule_t

◆ ConditionRuleList_t

typedef std::map<unsigned, ConditionRule_t> libetonyek::IWAParser::ConditionRuleList_t
private

◆ DataList_t

typedef std::map<unsigned, boost::variant<std::string, unsigned, IWORKFormulaPtr_t, Format> > libetonyek::IWAParser::DataList_t
private

◆ StyleMap_t

typedef std::map<unsigned, IWORKStylePtr_t> libetonyek::IWAParser::StyleMap_t
protected

◆ StyleParseFun_t

typedef std::function<void(unsigned, IWORKStylePtr_t &)> libetonyek::IWAParser::StyleParseFun_t
protected

Constructor & Destructor Documentation

◆ IWAParser() [1/2]

◆ IWAParser() [2/2]

libetonyek::IWAParser::IWAParser ( const RVNGInputStreamPtr_t & fragments,
const RVNGInputStreamPtr_t & package,
IWORKCollector & collector )

◆ ~IWAParser()

virtual libetonyek::IWAParser::~IWAParser ( )
inlinevirtual

Member Function Documentation

◆ dispatchShape()

bool libetonyek::IWAParser::dispatchShape ( unsigned id)
protected

◆ dispatchShapeWithMessage()

bool libetonyek::IWAParser::dispatchShapeWithMessage ( const IWAMessage & msg,
unsigned type )
protected

◆ getObjectType()

boost::optional< unsigned > libetonyek::IWAParser::getObjectType ( unsigned id) const
protected

◆ operator=()

IWAParser & libetonyek::IWAParser::operator= ( const IWAParser & )
private

◆ parse()

bool libetonyek::IWAParser::parse ( )

◆ parseArrowProperties()

bool libetonyek::IWAParser::parseArrowProperties ( const IWAMessage & msg,
IWORKPropertyMap & props,
bool headArrow )
private

◆ parseAttachment()

bool libetonyek::IWAParser::parseAttachment ( unsigned id)
private

◆ parseAuthorInComment()

void libetonyek::IWAParser::parseAuthorInComment ( unsigned id)
protected

Referenced by parseComment().

◆ parseCellStyle()

void libetonyek::IWAParser::parseCellStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by queryCellStyle().

◆ parseCharacterProperties()

void libetonyek::IWAParser::parseCharacterProperties ( const IWAMessage & msg,
IWORKPropertyMap & props )
private

◆ parseCharacterStyle()

void libetonyek::IWAParser::parseCharacterStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by queryCharacterStyle().

◆ parseColumnsProperties()

void libetonyek::IWAParser::parseColumnsProperties ( const IWAMessage & msg,
IWORKPropertyMap & props )
private

Referenced by parseSectionStyle().

◆ parseComment()

void libetonyek::IWAParser::parseComment ( unsigned id)
protected

◆ parseConditionRules()

bool libetonyek::IWAParser::parseConditionRules ( unsigned id,
IWAParser::ConditionRule_t & rules )
private

Referenced by parseTabularModel().

◆ parseCustomFormat()

void libetonyek::IWAParser::parseCustomFormat ( unsigned id)
protected

◆ parseDataList()

void libetonyek::IWAParser::parseDataList ( unsigned id,
DataList_t & dataList )
private

Referenced by parseTabularModel().

◆ parseDocument()

virtual bool libetonyek::IWAParser::parseDocument ( )
privatepure virtual

◆ parseDrawableShape()

bool libetonyek::IWAParser::parseDrawableShape ( const IWAMessage & msg,
bool isConnectionLine = false )
private

◆ parseDropCapStyle()

void libetonyek::IWAParser::parseDropCapStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by queryDropCapStyle().

◆ parseFormat()

bool libetonyek::IWAParser::parseFormat ( const IWAMessage & msg,
IWAParser::Format & format )
private

Referenced by parseCustomFormat(), and parseDataList().

◆ parseFormula()

bool libetonyek::IWAParser::parseFormula ( const IWAMessage & msg,
IWORKFormulaPtr_t & formula )
private

◆ parseGraphicStyle()

void libetonyek::IWAParser::parseGraphicStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by queryGraphicStyle().

◆ parseGroup()

bool libetonyek::IWAParser::parseGroup ( const IWAMessage & msg)
private

◆ parseHeaderAndFooter()

void libetonyek::IWAParser::parseHeaderAndFooter ( unsigned id,
IWORKPageMaster & hf )
private

Referenced by parsePageMaster().

◆ parseImage()

bool libetonyek::IWAParser::parseImage ( const IWAMessage & msg)
private

◆ parseLink()

void libetonyek::IWAParser::parseLink ( unsigned id,
std::string & url )
private

Referenced by parseText().

◆ parseListStyle()

void libetonyek::IWAParser::parseListStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by queryListStyle().

◆ parseMask()

void libetonyek::IWAParser::parseMask ( unsigned id,
IWORKGeometryPtr_t & geometry,
IWORKPathPtr_t & path )
protected

Referenced by parseImage().

◆ parseMediaStyle()

void libetonyek::IWAParser::parseMediaStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by queryMediaStyle().

◆ parseObjectIndex()

void libetonyek::IWAParser::parseObjectIndex ( )
private

Referenced by parse().

◆ parsePageMaster()

void libetonyek::IWAParser::parsePageMaster ( unsigned id,
PageMaster & pageMaster )
private

Referenced by parseText().

◆ parseParagraphStyle()

void libetonyek::IWAParser::parseParagraphStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by queryParagraphStyle().

◆ parsePath()

bool libetonyek::IWAParser::parsePath ( const IWAMessage & msg,
IWORKPathPtr_t & path )
private

◆ parseSectionStyle()

void libetonyek::IWAParser::parseSectionStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by querySectionStyle().

◆ parseShapePlacement() [1/2]

bool libetonyek::IWAParser::parseShapePlacement ( const IWAMessage & msg)
private

◆ parseShapePlacement() [2/2]

bool libetonyek::IWAParser::parseShapePlacement ( const IWAMessage & msg,
IWORKGeometryPtr_t & geometry,
boost::optional< unsigned > & flags )
protectedvirtual

◆ parseStickyNote()

bool libetonyek::IWAParser::parseStickyNote ( const IWAMessage & msg)
privatevirtual

◆ parseTableGridLine()

void libetonyek::IWAParser::parseTableGridLine ( unsigned id,
IWORKGridLineMap_t & gridLines )
private

◆ parseTableGridLines()

void libetonyek::IWAParser::parseTableGridLines ( unsigned id,
IWORKGridLineMap_t(&) gridLines[4] )
private

Referenced by parseTabularModel().

◆ parseTableHeaders()

void libetonyek::IWAParser::parseTableHeaders ( unsigned id,
TableHeader & header )
private

Referenced by parseTabularModel().

◆ parseTableStyle()

void libetonyek::IWAParser::parseTableStyle ( unsigned id,
IWORKStylePtr_t & style )
private

Referenced by queryTableStyle().

◆ parseTabularInfo()

bool libetonyek::IWAParser::parseTabularInfo ( const IWAMessage & msg)
private

◆ parseTabularModel()

void libetonyek::IWAParser::parseTabularModel ( unsigned id)
private

Referenced by parseTabularInfo().

◆ parseText()

bool libetonyek::IWAParser::parseText ( unsigned id,
bool createNoteAsFootnote = true,
const std::function< void(unsigned, IWORKStylePtr_t)> & openPageSpan = nullptr )
protected

◆ parseTile()

void libetonyek::IWAParser::parseTile ( unsigned id,
unsigned decalY )
private

Referenced by parseTabularModel().

◆ parseTileDefinition()

void libetonyek::IWAParser::parseTileDefinition ( unsigned row,
unsigned col,
RVNGInputStreamPtr_t & input,
unsigned endPos,
bool oldFormat )
private

Referenced by parseTile().

◆ queryCellStyle()

const IWORKStylePtr_t libetonyek::IWAParser::queryCellStyle ( unsigned id) const
protected

◆ queryCharacterStyle()

const IWORKStylePtr_t libetonyek::IWAParser::queryCharacterStyle ( unsigned id) const
protected

Referenced by parseCharacterStyle(), and parseText().

◆ queryDropCapStyle()

const IWORKStylePtr_t libetonyek::IWAParser::queryDropCapStyle ( unsigned id) const
protected

Referenced by parseDropCapStyle(), and parseText().

◆ queryFile()

const RVNGInputStreamPtr_t libetonyek::IWAParser::queryFile ( unsigned id) const
private

◆ queryGraphicStyle()

const IWORKStylePtr_t libetonyek::IWAParser::queryGraphicStyle ( unsigned id) const
protected

◆ queryListStyle()

const IWORKStylePtr_t libetonyek::IWAParser::queryListStyle ( unsigned id) const
protected

Referenced by parseListStyle(), and parseText().

◆ queryMediaStyle()

const IWORKStylePtr_t libetonyek::IWAParser::queryMediaStyle ( unsigned id) const
protected

Referenced by parseImage(), and parseMediaStyle().

◆ queryObject()

void libetonyek::IWAParser::queryObject ( unsigned id,
unsigned & type,
boost::optional< IWAMessage > & msg ) const
private

◆ queryParagraphStyle()

const IWORKStylePtr_t libetonyek::IWAParser::queryParagraphStyle ( unsigned id) const
protected

◆ querySectionStyle()

const IWORKStylePtr_t libetonyek::IWAParser::querySectionStyle ( unsigned id) const
protected

Referenced by parseSectionStyle(), and parseText().

◆ queryStyle()

◆ queryTableStyle()

const IWORKStylePtr_t libetonyek::IWAParser::queryTableStyle ( unsigned id) const
protected

◆ readColor()

boost::optional< IWORKColor > libetonyek::IWAParser::readColor ( const IWAMessage & msg,
unsigned field )
staticprotected

◆ readDropCap()

void libetonyek::IWAParser::readDropCap ( const IWAMessage & msg,
IWORKDropCap & cap )
staticprotected

Referenced by parseDropCapStyle().

◆ readFill()

bool libetonyek::IWAParser::readFill ( const IWAMessage & msg,
IWORKFill & fill )
protected

◆ readGradient()

void libetonyek::IWAParser::readGradient ( const IWAMessage & msg,
IWORKGradient & gradient )
staticprotected

Referenced by readFill().

◆ readPadding()

void libetonyek::IWAParser::readPadding ( const IWAMessage & msg,
IWORKPadding & padding )
staticprotected

◆ readPosition()

boost::optional< IWORKPosition > libetonyek::IWAParser::readPosition ( const IWAMessage & msg,
unsigned field )
staticprotected

◆ readRef()

◆ readRefs()

◆ readShadow()

void libetonyek::IWAParser::readShadow ( const IWAMessage & msg,
IWORKShadow & shadow )
staticprotected

◆ readSize()

boost::optional< IWORKSize > libetonyek::IWAParser::readSize ( const IWAMessage & msg,
unsigned field )
staticprotected

◆ readStroke()

void libetonyek::IWAParser::readStroke ( const IWAMessage & msg,
IWORKStroke & stroke )
staticprotected

◆ readUID()

boost::optional< uint64_t > libetonyek::IWAParser::readUID ( const IWAMessage & msg,
unsigned field )
staticprotected

Referenced by parseFormat().

◆ readUIDs()

std::deque< uint64_t > libetonyek::IWAParser::readUIDs ( const IWAMessage & msg,
unsigned field )
staticprotected

Referenced by parseCustomFormat().

◆ readUUID()

boost::optional< std::string > libetonyek::IWAParser::readUUID ( const IWAMessage & msg,
unsigned field )
staticprotected

Referenced by parseFormula().

◆ updateGeometryUsingTextRef()

void libetonyek::IWAParser::updateGeometryUsingTextRef ( unsigned id,
IWORKGeometry & geometry,
unsigned flags )
protected

Friends And Related Symbol Documentation

◆ IWAObjectIndex

friend class IWAObjectIndex
friend

Referenced by IWAObjectIndex.

◆ ObjectMessage

friend class ObjectMessage
friend

Member Data Documentation

◆ m_cellStyles

StyleMap_t libetonyek::IWAParser::m_cellStyles
mutableprivate

Referenced by IWAParser(), and queryCellStyle().

◆ m_charStyles

StyleMap_t libetonyek::IWAParser::m_charStyles
mutableprivate

Referenced by IWAParser(), and queryCharacterStyle().

◆ m_collector

◆ m_currentTable

std::shared_ptr<TableInfo> libetonyek::IWAParser::m_currentTable
private

◆ m_currentText

◆ m_dropCapStyles

StyleMap_t libetonyek::IWAParser::m_dropCapStyles
mutableprivate

Referenced by IWAParser(), and queryDropCapStyle().

◆ m_formatNameMap

IWORKFormatNameMap libetonyek::IWAParser::m_formatNameMap
protected

Referenced by IWAParser(), and parseTabularModel().

◆ m_graphicStyles

StyleMap_t libetonyek::IWAParser::m_graphicStyles
mutableprivate

Referenced by IWAParser(), and queryGraphicStyle().

◆ m_index

IWAObjectIndex libetonyek::IWAParser::m_index
private

◆ m_langManager

◆ m_listStyles

StyleMap_t libetonyek::IWAParser::m_listStyles
mutableprivate

Referenced by IWAParser().

◆ m_mediaStyles

StyleMap_t libetonyek::IWAParser::m_mediaStyles
mutableprivate

Referenced by IWAParser(), and queryMediaStyle().

◆ m_paraStyles

StyleMap_t libetonyek::IWAParser::m_paraStyles
mutableprivate

Referenced by IWAParser(), and queryParagraphStyle().

◆ m_sectionStyles

StyleMap_t libetonyek::IWAParser::m_sectionStyles
mutableprivate

Referenced by IWAParser(), and querySectionStyle().

◆ m_tableNameMap

IWORKTableNameMapPtr_t libetonyek::IWAParser::m_tableNameMap
protected

◆ m_tableStyles

StyleMap_t libetonyek::IWAParser::m_tableStyles
mutableprivate

◆ m_uidFormatMap

std::map<uint64_t,Format> libetonyek::IWAParser::m_uidFormatMap
private

◆ m_visited

std::deque<unsigned> libetonyek::IWAParser::m_visited
private

Referenced by IWAParser().


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

Generated for libetonyek by doxygen 1.13.2