10 #ifndef IWAPARSER_H_INCLUDED 11 #define IWAPARSER_H_INCLUDED 18 #include <unordered_map> 20 #include <boost/optional.hpp> 21 #include <boost/variant.hpp> 23 #if defined(__GNUC__) && !defined(__clang__) 24 #pragma GCC diagnostic push 25 #pragma GCC diagnostic ignored "-Weffc++" 27 #include <mdds/flat_segment_tree.hpp> 28 #if defined(__GNUC__) && !defined(__clang__) 29 #pragma GCC diagnostic pop 44 class IWORKPropertyMap;
68 operator bool()
const;
124 typedef std::map<unsigned, boost::variant<std::string, unsigned> >
DataList_t;
137 mdds::flat_segment_tree<unsigned, float>
m_sizes;
165 void queryObject(
unsigned id,
unsigned &
type, boost::optional<IWAMessage> &msg)
const;
void parseCharacterStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1383
virtual ~IWAParser()
Definition: IWAParser.h:55
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:41
Definition: IWORKBezierElement.cpp:20
DataList_t m_commentList
Definition: IWAParser.h:158
std::shared_ptr< IWORKTable > m_table
Definition: IWAParser.h:145
static boost::optional< IWORKColor > readColor(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:273
Definition: IWORKTypes.h:299
const IWORKStylePtr_t queryParagraphStyle(unsigned id) const
Definition: IWAParser.cpp:797
Definition: IWORKToken.h:358
IWAObjectIndex m_index
Definition: IWAParser.h:208
static void readStroke(const IWAMessage &msg, IWORKStroke &stroke)
Definition: IWAParser.cpp:284
static boost::optional< unsigned > readRef(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:229
std::deque< unsigned > m_visited
Definition: IWAParser.h:210
const IWORKStylePtr_t queryStyle(unsigned id, StyleMap_t &styleMap, StyleParseFun_t parse) const
Definition: IWAParser.cpp:779
Definition: IWORKTypes.h:277
const IWORKStylePtr_t queryTableStyle(unsigned id) const
Definition: IWAParser.cpp:822
void parseComment(unsigned id)
Definition: IWAParser.cpp:2092
StyleMap_t m_paraStyles
Definition: IWAParser.h:213
const unsigned m_columns
Definition: IWAParser.h:147
std::shared_ptr< IWORKText > m_currentText
Definition: IWAParser.h:121
const IWORKStylePtr_t querySectionStyle(unsigned id) const
Definition: IWAParser.cpp:802
IWAParser & m_parser
Definition: IWAParser.h:79
const unsigned m_rows
Definition: IWAParser.h:148
DataList_t m_formattedTextList
Definition: IWAParser.h:157
void parseTabularModel(unsigned id)
Definition: IWAParser.cpp:2119
Represents a (hierarchical) property map.
Definition: IWORKPropertyMap.h:24
IWORKTableNameMapPtr_t m_tableNameMap
Definition: IWAParser.h:222
const RVNGInputStreamPtr_t queryFile(unsigned id) const
Definition: IWAParser.cpp:224
static boost::optional< IWORKSize > readSize(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:262
bool parseText(unsigned id, const std::function< void(unsigned, IWORKStylePtr_t)> &openPageSpan=nullptr)
Definition: IWAParser.cpp:483
static std::deque< unsigned > readRefs(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:236
unsigned getType() const
Definition: IWAParser.cpp:214
PageMaster()
Definition: IWAParser.cpp:113
DataList_t m_cellStyleList
Definition: IWAParser.h:156
void parseTableGridLine(unsigned id, IWORKGridLineMap_t &gridLines)
Definition: IWAParser.cpp:2523
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
void parseCharacterProperties(const IWAMessage &msg, IWORKPropertyMap &props)
Definition: IWAParser.cpp:1904
bool parseShapePlacement(const IWAMessage &msg, IWORKGeometryPtr_t &geometry)
Definition: IWAParser.cpp:1300
StyleMap_t m_sectionStyles
Definition: IWAParser.h:214
void parsePageMaster(unsigned id, PageMaster &pageMaster)
Definition: IWAParser.cpp:1987
static void readShadow(const IWAMessage &msg, IWORKShadow &shadow)
Definition: IWAParser.cpp:429
bool m_headerFootersSameAsPrevious
Definition: IWAParser.h:130
IWORKCollector & m_collector
Definition: IWAParser.h:206
IWAParser(const IWAParser &)
bool parseImage(const IWAMessage &msg)
Definition: IWAParser.cpp:2059
std::function< void(unsigned, IWORKStylePtr_t &)> StyleParseFun_t
Definition: IWAParser.h:87
IWORKStylePtr_t m_style
Definition: IWAParser.h:150
TableHeader m_columnHeader
Definition: IWAParser.h:152
Definition: IWAParser.h:126
const IWORKStylePtr_t queryGraphicStyle(unsigned id) const
Definition: IWAParser.cpp:807
const IWORKStylePtr_t queryMediaStyle(unsigned id) const
Definition: IWAParser.cpp:812
bool parseDrawableShape(const IWAMessage &msg, bool isConnectionLine=false)
Definition: IWAParser.cpp:1052
const IWORKStylePtr_t queryListStyle(unsigned id) const
Definition: IWAParser.cpp:827
StyleMap_t m_tableStyles
Definition: IWAParser.h:219
boost::optional< IWAMessage > m_message
Definition: IWAParser.h:80
Definition: IWAParser.h:62
bool parsePath(const IWAMessage &msg, IWORKPathPtr_t &path)
Definition: IWAParser.cpp:962
IWORKStylePtr_t m_style
Definition: IWAParser.h:129
bool parseGroup(const IWAMessage &msg)
Definition: IWAParser.cpp:1283
Definition: KEY1Token.h:198
bool parseArrowProperties(const IWAMessage &msg, IWORKPropertyMap &props, bool headArrow)
Definition: IWAParser.cpp:929
ObjectMessage(IWAParser &parser, unsigned id, unsigned type=0)
Definition: IWAParser.cpp:164
void parseHeaderAndFooter(unsigned id, IWORKPageMaster &hf)
Definition: IWAParser.cpp:2022
bool parseTabularInfo(const IWAMessage &msg)
Definition: IWAParser.cpp:2107
StyleMap_t m_cellStyles
Definition: IWAParser.h:218
static void readGradient(const IWAMessage &msg, IWORKGradient &gradient)
Definition: IWAParser.cpp:396
bool readFill(const IWAMessage &msg, IWORKFill &fill)
Definition: IWAParser.cpp:338
Definition: IWAObjectIndex.h:26
Definition: IWORKTypes.h:99
Definition: IWORKToken.h:414
unsigned m_type
Definition: IWAParser.h:82
Definition: IWAParser.h:141
void parseMediaStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1601
Definition: IWORKToken.h:385
Definition: IWORKCollector.h:41
void parseLink(unsigned id, std::string &url)
Definition: IWAParser.cpp:2559
StyleMap_t m_listStyles
Definition: IWAParser.h:220
Definition: IWORKToken.h:343
void parseParagraphStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1407
Definition: IWORKTypes.h:312
std::map< unsigned, boost::variant< std::string, unsigned > > DataList_t
Definition: IWAParser.h:124
StyleMap_t m_charStyles
Definition: IWAParser.h:212
const IWORKStylePtr_t queryCellStyle(unsigned id) const
Definition: IWAParser.cpp:817
void parseColumnsProperties(const IWAMessage &msg, IWORKPropertyMap &props)
Definition: IWAParser.cpp:1944
Definition: IWORKToken.h:154
StyleMap_t m_mediaStyles
Definition: IWAParser.h:217
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libetonyek_utils.h:82
Definition: IWORKToken.h:232
IWORKLanguageManager m_langManager
Definition: IWAParser.h:120
Definition: KEY1Token.h:58
void parseCellStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1649
std::shared_ptr< IWORKTableNameMap_t > IWORKTableNameMapPtr_t
Definition: IWORKTypes_fwd.h:34
std::map< unsigned, IWORKGridLine_t > IWORKGridLineMap_t
Definition: IWORKTypes.h:122
void parseTile(unsigned id)
Definition: IWAParser.cpp:2297
void parseListStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1776
void parseSectionStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1506
StyleMap_t m_graphicStyles
Definition: IWAParser.h:216
Definition: IWORKLanguageManager.h:23
void parseObjectIndex()
Definition: IWAParser.cpp:1378
Definition: IWORKTypes.h:356
void queryObject(unsigned id, unsigned &type, boost::optional< IWAMessage > &msg) const
Definition: IWAParser.cpp:219
Definition: IWORKToken.h:252
void parseGraphicStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1530
void parseTableHeaders(unsigned id, TableHeader &header)
Definition: IWAParser.cpp:2477
Definition: IWORKToken.h:411
DataList_t m_simpleTextList
Definition: IWAParser.h:155
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
std::map< unsigned, IWORKStylePtr_t > StyleMap_t
Definition: IWAParser.h:86
void parseTableStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1732
bool dispatchShape(unsigned id)
Definition: IWAParser.cpp:453
IWAParser & operator=(const IWAParser &)
virtual bool parseDocument()=0
Definition: IWAMessage.h:21
boost::variant< IWORKColor, IWORKGradient, IWORKMediaContent > IWORKFill
Definition: IWORKTypes.h:309
TableHeader m_rowHeader
Definition: IWAParser.h:153
Definition: IWAParser.h:48
Definition: IWORKToken.h:486
static void readPadding(const IWAMessage &msg, IWORKPadding &padding)
Definition: IWAParser.cpp:445
void parseDataList(unsigned id, DataList_t &dataList)
Definition: IWAParser.cpp:2240
~ObjectMessage()
Definition: IWAParser.cpp:194
bool parseAttachment(unsigned id)
Definition: IWAParser.cpp:832
void parseTableGridLines(unsigned id, IWORKGridLineMap_t(&gridLines)[4])
Definition: IWAParser.cpp:2501
TableInfo(const std::shared_ptr< IWORKTable > &table, unsigned columns, unsigned rows)
Definition: IWAParser.cpp:125
Definition: IWORKToken.h:412
Definition: IWORKToken.h:515
const IWORKStylePtr_t queryCharacterStyle(unsigned id) const
Definition: IWAParser.cpp:792
static boost::optional< IWORKPosition > readPosition(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:251
Definition: IWORKToken.h:200
const unsigned m_id
Definition: IWAParser.h:81
bool parse()
Definition: IWAParser.cpp:158
std::shared_ptr< TableInfo > m_currentTable
Definition: IWAParser.h:223