libetonyek::IWAParser Class Referenceabstract

#include <IWAParser.h>

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

Classes

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_t
StyleMap_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 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
< IWORKPosition
readPosition (const IWAMessage &msg, unsigned field)
 
static boost::optional< IWORKSizereadSize (const IWAMessage &msg, unsigned field)
 
static boost::optional
< IWORKColor
readColor (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)
 

Protected Attributes

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
 

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 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)
 
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 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_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

typedef std::map<unsigned, boost::variant<std::string, unsigned, IWORKFormulaPtr_t, Format> > libetonyek::IWAParser::DataList_t
private
typedef std::map<unsigned, IWORKStylePtr_t> libetonyek::IWAParser::StyleMap_t
protected
typedef std::function<void(unsigned, IWORKStylePtr_t &)> libetonyek::IWAParser::StyleParseFun_t
protected

Constructor & Destructor Documentation

libetonyek::IWAParser::IWAParser ( const IWAParser )
private
libetonyek::IWAParser::IWAParser ( const RVNGInputStreamPtr_t fragments,
const RVNGInputStreamPtr_t package,
IWORKCollector collector 
)
virtual libetonyek::IWAParser::~IWAParser ( )
inlinevirtual

Member Function Documentation

bool libetonyek::IWAParser::dispatchShape ( unsigned  id)
protected
bool libetonyek::IWAParser::dispatchShapeWithMessage ( const IWAMessage msg,
unsigned  type 
)
protected
boost::optional< unsigned > libetonyek::IWAParser::getObjectType ( unsigned  id) const
protected
IWAParser& libetonyek::IWAParser::operator= ( const IWAParser )
private
bool libetonyek::IWAParser::parse ( )
bool libetonyek::IWAParser::parseArrowProperties ( const IWAMessage msg,
IWORKPropertyMap props,
bool  headArrow 
)
private
bool libetonyek::IWAParser::parseAttachment ( unsigned  id)
private

Referenced by parseText().

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

Referenced by parseComment().

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

Referenced by queryCellStyle().

void libetonyek::IWAParser::parseCharacterProperties ( const IWAMessage msg,
IWORKPropertyMap props 
)
private
void libetonyek::IWAParser::parseCharacterStyle ( unsigned  id,
IWORKStylePtr_t style 
)
private

Referenced by queryCharacterStyle().

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

Referenced by parseSectionStyle().

void libetonyek::IWAParser::parseComment ( unsigned  id)
protected
void libetonyek::IWAParser::parseCustomFormat ( unsigned  id)
protected
void libetonyek::IWAParser::parseDataList ( unsigned  id,
DataList_t dataList 
)
private

Referenced by parseTabularModel().

virtual bool libetonyek::IWAParser::parseDocument ( )
privatepure virtual
bool libetonyek::IWAParser::parseDrawableShape ( const IWAMessage msg,
bool  isConnectionLine = false 
)
private
bool libetonyek::IWAParser::parseFormat ( const IWAMessage msg,
IWAParser::Format format 
)
private

Referenced by parseCustomFormat(), and parseDataList().

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

Referenced by parseDataList().

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

Referenced by queryGraphicStyle().

bool libetonyek::IWAParser::parseGroup ( const IWAMessage msg)
private
void libetonyek::IWAParser::parseHeaderAndFooter ( unsigned  id,
IWORKPageMaster hf 
)
private

Referenced by parsePageMaster().

bool libetonyek::IWAParser::parseImage ( const IWAMessage msg)
private
void libetonyek::IWAParser::parseLink ( unsigned  id,
std::string &  url 
)
private

Referenced by parseText().

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

Referenced by queryListStyle().

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

Referenced by parseImage().

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

Referenced by queryMediaStyle().

void libetonyek::IWAParser::parseObjectIndex ( )
private

Referenced by parse().

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

Referenced by parseText().

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

Referenced by queryParagraphStyle().

bool libetonyek::IWAParser::parsePath ( const IWAMessage msg,
IWORKPathPtr_t path 
)
private
void libetonyek::IWAParser::parseSectionStyle ( unsigned  id,
IWORKStylePtr_t style 
)
private

Referenced by querySectionStyle().

bool libetonyek::IWAParser::parseShapePlacement ( const IWAMessage msg,
IWORKGeometryPtr_t geometry,
boost::optional< unsigned > &  flags 
)
protectedvirtual
bool libetonyek::IWAParser::parseShapePlacement ( const IWAMessage msg)
private
bool libetonyek::IWAParser::parseStickyNote ( const IWAMessage msg)
privatevirtual
void libetonyek::IWAParser::parseTableGridLine ( unsigned  id,
IWORKGridLineMap_t gridLines 
)
private

Referenced by parseTableGridLines().

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

Referenced by parseTabularModel().

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

Referenced by parseTabularModel().

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

Referenced by queryTableStyle().

bool libetonyek::IWAParser::parseTabularInfo ( const IWAMessage msg)
private
void libetonyek::IWAParser::parseTabularModel ( unsigned  id)
private

Referenced by parseTabularInfo().

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

Referenced by parseTabularModel().

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

Referenced by parseCharacterStyle(), and parseText().

const RVNGInputStreamPtr_t libetonyek::IWAParser::queryFile ( unsigned  id) const
private
const IWORKStylePtr_t libetonyek::IWAParser::queryGraphicStyle ( unsigned  id) const
protected
const IWORKStylePtr_t libetonyek::IWAParser::queryListStyle ( unsigned  id) const
protected

Referenced by parseListStyle(), and parseText().

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

Referenced by parseImage(), and parseMediaStyle().

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

Referenced by parseSectionStyle(), and parseText().

const IWORKStylePtr_t libetonyek::IWAParser::queryTableStyle ( unsigned  id) const
protected
boost::optional< IWORKColor > libetonyek::IWAParser::readColor ( const IWAMessage msg,
unsigned  field 
)
staticprotected
bool libetonyek::IWAParser::readFill ( const IWAMessage msg,
IWORKFill fill 
)
protected
void libetonyek::IWAParser::readGradient ( const IWAMessage msg,
IWORKGradient gradient 
)
staticprotected

Referenced by readFill().

void libetonyek::IWAParser::readPadding ( const IWAMessage msg,
IWORKPadding padding 
)
staticprotected
boost::optional< IWORKPosition > libetonyek::IWAParser::readPosition ( const IWAMessage msg,
unsigned  field 
)
staticprotected
void libetonyek::IWAParser::readShadow ( const IWAMessage msg,
IWORKShadow shadow 
)
staticprotected
boost::optional< IWORKSize > libetonyek::IWAParser::readSize ( const IWAMessage msg,
unsigned  field 
)
staticprotected
void libetonyek::IWAParser::readStroke ( const IWAMessage msg,
IWORKStroke stroke 
)
staticprotected
boost::optional< uint64_t > libetonyek::IWAParser::readUID ( const IWAMessage msg,
unsigned  field 
)
staticprotected

Referenced by parseFormat().

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

Referenced by parseCustomFormat().

boost::optional< std::string > libetonyek::IWAParser::readUUID ( const IWAMessage msg,
unsigned  field 
)
staticprotected
void libetonyek::IWAParser::updateGeometryUsingTextRef ( unsigned  id,
IWORKGeometry geometry,
unsigned  flags 
)
protected

Referenced by parseDrawableShape().

Friends And Related Function Documentation

friend class IWAObjectIndex
friend
friend class ObjectMessage
friend

Member Data Documentation

StyleMap_t libetonyek::IWAParser::m_cellStyles
mutableprivate

Referenced by queryCellStyle().

StyleMap_t libetonyek::IWAParser::m_charStyles
mutableprivate

Referenced by queryCharacterStyle().

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

Referenced by parseTabularModel(), and parseTile().

StyleMap_t libetonyek::IWAParser::m_graphicStyles
mutableprivate

Referenced by queryGraphicStyle().

IWAObjectIndex libetonyek::IWAParser::m_index
private
StyleMap_t libetonyek::IWAParser::m_listStyles
mutableprivate
StyleMap_t libetonyek::IWAParser::m_mediaStyles
mutableprivate

Referenced by queryMediaStyle().

StyleMap_t libetonyek::IWAParser::m_paraStyles
mutableprivate

Referenced by queryParagraphStyle().

StyleMap_t libetonyek::IWAParser::m_sectionStyles
mutableprivate

Referenced by querySectionStyle().

IWORKTableNameMapPtr_t libetonyek::IWAParser::m_tableNameMap
protected
StyleMap_t libetonyek::IWAParser::m_tableStyles
mutableprivate

Referenced by queryListStyle(), and queryTableStyle().

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

Referenced by parseCustomFormat(), and parseFormat().

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

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

Generated for libetonyek by doxygen 1.8.6