Go to the documentation of this file.
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;
@ point
Definition: IWORKToken.h:366
TableHeader m_columnHeader
Definition: IWAParser.h:152
IWORKImageType m_type
Definition: IWORKTypes.h:150
static void readPadding(const IWAMessage &msg, IWORKPadding &padding)
Definition: IWAParser.cpp:445
KEY1TableElement::TableData & m_table
Definition: KEY1TableElement.cpp:157
double m_inflection
Definition: IWORKTypes.h:295
IWORKTextLabelFormat m_format
Definition: IWORKTypes.h:447
static boost::optional< unsigned > readRef(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:229
@ Headers
Definition: IWAObjectType.h:50
@ GridLine
Definition: IWAObjectType.h:55
const IWAMessageField & message(std::size_t field) const
Definition: IWAField.cpp:70
@ GraphicStyle
Definition: IWAObjectType.h:33
@ header
Definition: IWORKToken.h:252
void setSections(const std::map< unsigned, IWORKStylePtr_t > §ions)
Definition: IWAText.cpp:63
void setAttachments(const std::multimap< unsigned, std::function< void(unsigned, bool &)> > &attachments)
Definition: IWAText.cpp:98
@ Comment
Definition: IWAObjectType.h:43
bool parseText(unsigned id, const std::function< void(unsigned, IWORKStylePtr_t)> &openPageSpan=nullptr)
Definition: IWAParser.cpp:483
void parseComment(unsigned id)
Definition: IWAParser.cpp:2085
IWORKStylePtr_t m_style
Definition: IWORKPropertyMapElement.cpp:172
Definition: IWORKBezierElement.cpp:20
@ none
Definition: IWORKToken.h:666
@ Text
Definition: IWAObjectType.h:22
const friend IWAMessage & get(const ObjectMessage &msg)
Definition: IWAParser.h:73
Definition: IWORKTypes.h:337
@ SectionStyle
Definition: IWAObjectType.h:32
Definition: IWORKTypes.h:277
@ IWORK_LINE_CAP_ROUND
Definition: IWORKEnum.h:69
boost::optional< IWORKSize > m_size
Definition: IWORKTypes.h:151
@ table
Definition: KEY1Token.h:198
bool m_isSpline
Definition: IWORKPath.h:94
static boost::optional< IWORKColor > readColor(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:273
Definition: IWORKLanguageManager.h:23
@ listStyle
Definition: IWORKToken.h:307
@ flags
Definition: IWORKToken.h:527
void startLevel()
Definition: IWORKCollector.cpp:635
bool parseShapePlacement(const IWAMessage &msg, IWORKGeometryPtr_t &geometry)
Definition: IWAParser.cpp:1293
@ shape
Definition: IWORKToken.h:394
@ TabularInfo
Definition: IWAObjectType.h:44
double m_offset
Definition: IWORKTypes.h:319
std::shared_ptr< IWORKTableNameMap_t > IWORKTableNameMapPtr_t
Definition: IWORKTypes_fwd.h:34
@ SFTStrokeProperty
Definition: IWORKToken.h:85
IWORKTableNameMapPtr_t m_tableNameMap
Definition: IWAParser.h:222
void collectHeader(const std::string &name)
Definition: IWORKCollector.cpp:525
@ ConnectionLine
Definition: IWAObjectType.h:40
static void readStroke(const IWAMessage &msg, IWORKStroke &stroke)
Definition: IWAParser.cpp:284
@ Image
Definition: IWAObjectType.h:38
IWORKStylePtr_t m_style
Definition: IWAParser.h:129
@ bezier
Definition: IWORKToken.h:112
@ IWORK_LABEL_NUM_FORMAT_ROMAN
Definition: IWORKEnum.h:131
static void readShadow(const IWAMessage &msg, IWORKShadow &shadow)
Definition: IWAParser.cpp:429
TableHeader m_rowHeader
Definition: IWAParser.h:153
@ NoteStart
Definition: IWAObjectType.h:24
@ CellStyle
Definition: IWAObjectType.h:48
@ Note
Definition: IWAObjectType.h:25
@ Group
Definition: IWAObjectType.h:39
std::shared_ptr< TableInfo > m_currentTable
Definition: IWAParser.h:223
IWAParser(const IWAParser &)
@ CharacterStyle
Definition: IWAObjectType.h:29
@ type
Definition: IWORKToken.h:486
@ IWORK_CELL_TYPE_TEXT
Definition: IWORKEnum.h:82
const IWORKStylePtr_t queryTableStyle(unsigned id) const
Definition: IWAParser.cpp:822
bool parseImage(const IWAMessage &msg)
Definition: IWAParser.cpp:2052
StyleMap_t m_paraStyles
Definition: IWAParser.h:213
Definition: IWAParser.h:48
boost::optional< IWORKSize > m_size
Definition: IWORKPath.h:93
std::shared_ptr< IWORKData > IWORKDataPtr_t
Definition: IWORKTypes_fwd.h:49
Definition: IWORKPath.h:28
virtual ~IWAParser()
Definition: IWAParser.h:55
#define ETONYEK_FALLTHROUGH
Definition: libetonyek_utils.h:42
const IWORKStylePtr_t queryGraphicStyle(unsigned id) const
Definition: IWAParser.cpp:807
@ level
Definition: KEY1Token.h:158
static boost::optional< T > convert(const char *value)
Definition: IWORKNumberConverter.cpp:20
StyleMap_t m_tableStyles
Definition: IWAParser.h:219
bool parsePath(const IWAMessage &msg, IWORKPathPtr_t &path)
Definition: IWAParser.cpp:962
void collectArrowPath(const IWORKSize &size, double headWidth, double stemRelYPos, bool doubleSided)
Definition: IWORKCollector.cpp:441
@ empty
Definition: IWORKToken.h:656
@ attachment
Definition: IWORKToken.h:104
const IWORKStylePtr_t queryParagraphStyle(unsigned id) const
Definition: IWAParser.cpp:797
const RVNGInputStreamPtr_t queryFile(unsigned id) const
Definition: IWAParser.cpp:224
@ IWORK_LABEL_NUM_FORMAT_ALPHA
Definition: IWORKEnum.h:129
void parseHeaderAndFooter(unsigned id, IWORKPageMaster &hf)
Definition: IWAParser.cpp:2015
boost::optional< IWORKColor > m_fillColor
Definition: IWORKTypes.h:153
void parsePageMaster(unsigned id, PageMaster &pageMaster)
Definition: IWAParser.cpp:1980
bool parseTabularInfo(const IWAMessage &msg)
Definition: IWAParser.cpp:2100
const unsigned m_columns
Definition: IWAParser.h:147
std::deque< unsigned > m_visited
Definition: IWAParser.h:210
IWORKCollector & m_collector
Definition: IWAParser.h:206
Definition: PAGCollector.h:23
bool empty() const override
Definition: IWAField.h:113
const IWABoolField & bool_(std::size_t field) const
Definition: IWAMessage.cpp:142
void setPageMasters(const std::map< unsigned, IWORKStylePtr_t > &pageMasters)
Definition: IWAText.cpp:58
@ g
Definition: IWORKToken.h:231
void endGroup()
Definition: IWORKCollector.cpp:589
@ IWORK_GRADIENT_TYPE_LINEAR
Definition: IWORKEnum.h:107
DataList_t m_simpleTextList
Definition: IWAParser.h:155
#define ETONYEK_DEBUG_MSG(M)
Definition: libetonyek_utils.h:54
@ n
Definition: IWORKToken.h:328
@ i
Definition: KEY2Token.h:101
std::function< void(unsigned, IWORKStylePtr_t &)> StyleParseFun_t
Definition: IWAParser.h:87
@ row
Definition: IWORKToken.h:383
@ IWORK_LABEL_NUM_FORMAT_SURROUNDING_DOT
Definition: IWORKEnum.h:139
Definition: IWORKTypes.h:99
@ IWORK_STROKE_TYPE_SOLID
Definition: IWORKEnum.h:121
const boost::optional< value_type > optional() const
Definition: IWAField.h:159
@ tailAtCenter
Definition: IWORKToken.h:614
void parseCharacterProperties(const IWAMessage &msg, IWORKPropertyMap &props)
Definition: IWAParser.cpp:1897
IWORKVerticalAlignment
Definition: IWORKEnum.h:111
void collectPolygonPath(const IWORKSize &size, unsigned edges)
Definition: IWORKCollector.cpp:423
void setLists(const std::map< unsigned, IWORKStylePtr_t > &lists)
Definition: IWAText.cpp:93
Definition: IWORKTypes.h:89
Definition: IWAObjectIndex.h:26
@ CommentField
Definition: IWAObjectType.h:27
StyleMap_t m_sectionStyles
Definition: IWAParser.h:214
~ObjectMessage()
Definition: IWAParser.cpp:194
std::deque< IWORKTabStop > IWORKTabStops_t
Definition: IWORKTypes.h:119
void setParagraphs(const std::map< unsigned, IWORKStylePtr_t > ¶s)
Definition: IWAText.cpp:68
void endLevel()
Definition: IWORKCollector.cpp:656
@ CELL_TYPE_BODY
Definition: IWORKTable.h:53
std::shared_ptr< IWORKTable > m_table
Definition: IWAParser.h:145
@ SFTTableBandedRowsProperty
Definition: IWORKToken.h:86
StyleMap_t m_cellStyles
Definition: IWAParser.h:218
@ st
Definition: IWORKToken.h:404
static boost::optional< IWORKSize > readSize(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:262
@ index
Definition: IWORKToken.h:564
bool readFill(const IWAMessage &msg, IWORKFill &fill)
Definition: IWAParser.cpp:338
static std::deque< unsigned > readRefs(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:236
@ IWORK_VERTICAL_ALIGNMENT_BOTTOM
Definition: IWORKEnum.h:115
@ path
Definition: IWORKToken.h:358
@ IWORK_LABEL_NUM_FORMAT_ROMAN_LOWERCASE
Definition: IWORKEnum.h:132
@ align
Definition: IWORKToken.h:502
void collectMedia(const IWORKMediaContentPtr_t &content, const IWORKGeometryPtr_t &cropGeometry=IWORKGeometryPtr_t(), const boost::optional< int > &order=boost::none)
Definition: IWORKCollector.cpp:485
IWORKColor m_color
Definition: IWORKTypes.h:316
std::shared_ptr< IWORKMediaContent > IWORKMediaContentPtr_t
Definition: IWORKTypes_fwd.h:54
TableInfo(const std::shared_ptr< IWORKTable > &table, unsigned columns, unsigned rows)
Definition: IWAParser.cpp:125
void parseTableGridLine(unsigned id, IWORKGridLineMap_t &gridLines)
Definition: IWAParser.cpp:2516
@ IWORK_VERTICAL_ALIGNMENT_MIDDLE
Definition: IWORKEnum.h:114
@ ListStyle
Definition: IWAObjectType.h:31
const IWORKStylePtr_t queryListStyle(unsigned id) const
Definition: IWAParser.cpp:827
void collectCalloutPath(const IWORKSize &size, double radius, double tailSize, double tailX, double tailY, bool quoteBubble)
Definition: IWORKCollector.cpp:472
@ count
Definition: IWORKToken.h:515
const unsigned m_columns
Definition: IWORKTableRecorder.cpp:35
@ rows
Definition: IWORKToken.h:385
const IWAUInt32Field & uint32(std::size_t field) const
Definition: IWAMessage.cpp:122
void clear()
Clear property.
Definition: IWORKPropertyMap.h:145
@ h
Definition: IWORKToken.h:550
@ IWORK_VERTICAL_ALIGNMENT_TOP
Definition: IWORKEnum.h:113
@ attachments
Definition: IWORKToken.h:106
void parseColumnsProperties(const IWAMessage &msg, IWORKPropertyMap &props)
Definition: IWAParser.cpp:1937
@ col
Definition: IWORKToken.h:150
void collectTable(const std::shared_ptr< IWORKTable > &table)
Definition: IWORKCollector.cpp:535
Definition: IWAField.h:222
@ TableStyle
Definition: IWAObjectType.h:47
Definition: IWORKPath.h:86
Definition: IWORKTypes.h:110
const IWAMessage & get() const
Definition: IWAParser.cpp:209
@ CELL_TYPE_ROW_FOOTER
Definition: IWORKTable.h:57
void setSpans(const std::map< unsigned, IWORKStylePtr_t > &spans)
Definition: IWAText.cpp:73
@ size
Definition: IWORKToken.h:395
virtual std::shared_ptr< IWORKTable > createTable(const IWORKTableNameMapPtr_t &tableNameMap, const IWORKLanguageManager &langManager) const
Definition: IWORKCollector.cpp:625
@ columns
Definition: IWORKToken.h:154
@ id
Definition: IWORKToken.h:259
double readDouble(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:162
void setLinks(const std::map< unsigned, std::string > &links)
Definition: IWAText.cpp:83
@ content
Definition: IWORKToken.h:163
const IWAStringField & string(std::size_t field) const
Definition: IWAMessage.cpp:157
@ position
Definition: IWORKToken.h:368
@ spacing
Definition: IWORKToken.h:609
StyleMap_t m_charStyles
Definition: IWAParser.h:212
bool parseDrawableShape(const IWAMessage &msg, bool isConnectionLine=false)
Definition: IWAParser.cpp:1045
Definition: IWAParser.h:126
const IWORKStylePtr_t queryMediaStyle(unsigned id) const
Definition: IWAParser.cpp:812
@ ShapeField
Definition: IWAObjectType.h:23
PageMaster()
Definition: IWAParser.cpp:113
const unsigned m_id
Definition: IWAParser.h:81
@ IWORK_IMAGE_TYPE_SCALE_TO_FIT
Definition: IWORKEnum.h:102
bool parseGroup(const IWAMessage &msg)
Definition: IWAParser.cpp:1276
std::shared_ptr< IWORKFormula > IWORKFormulaPtr_t
Definition: IWORKTypes.h:123
@ PageField
Definition: IWAObjectType.h:37
void parseLink(unsigned id, std::string &url)
Definition: IWAParser.cpp:2552
void parseTile(unsigned id)
Definition: IWAParser.cpp:2290
bool parseArrowProperties(const IWAMessage &msg, IWORKPropertyMap &props, bool headArrow)
Definition: IWAParser.cpp:929
DataList_t m_commentList
Definition: IWAParser.h:158
const IWABoolField & bool_(std::size_t field) const
Definition: IWAField.cpp:50
const std::deque< value_type > repeated() const
Definition: IWAField.h:153
DataList_t m_cellStyleList
Definition: IWAParser.h:156
@ IWORK_LABEL_NUM_FORMAT_SURROUNDING_PARENTHESIS
Definition: IWORKEnum.h:138
StyleMap_t m_graphicStyles
Definition: IWAParser.h:216
void parseSectionStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1499
IWORKLabelNumFormatSurrounding m_prefix
Definition: IWORKTypes.h:438
virtual std::shared_ptr< IWORKText > createText(const IWORKLanguageManager &langManager, bool discardEmptyContent=false, bool allowListInsertion=true) const
Definition: IWORKCollector.cpp:630
bool approxEqual(const IWORKPath &left, const IWORKPath &right, double eps=ETONYEK_EPSILON)
static void readGradient(const IWAMessage &msg, IWORKGradient &gradient)
Definition: IWAParser.cpp:396
const IWAMessageField & message(std::size_t field) const
Definition: IWAMessage.cpp:167
unsigned long getLength(const RVNGInputStreamPtr_t &input)
Definition: libetonyek_utils.cpp:184
std::shared_ptr< IWORKPath > IWORKPathPtr_t
Definition: IWORKPath_fwd.h:20
@ TabularModel
Definition: IWAObjectType.h:45
void collectRoundedRectanglePath(const IWORKSize &size, double radius)
Definition: IWORKCollector.cpp:432
boost::optional< IWORKPosition > m_endPoint
Definition: IWORKTypes.h:96
void parse()
Definition: IWAObjectIndex.cpp:53
StyleMap_t m_mediaStyles
Definition: IWAParser.h:217
Definition: IWORKTypes.h:194
const IWAFloatField & float_(std::size_t field) const
Definition: IWAField.cpp:80
Definition: IWORKTypes.h:339
Definition: IWORKTypes.h:289
void parseParagraphStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1400
void parseGraphicStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1523
mdds::flat_segment_tree< unsigned, IWORKStylePtr_t > IWORKGridLine_t
Definition: IWORKTypes.h:121
void put(const typename IWORKPropertyInfo< Property >::ValueType &value)
Insert a new value for key key.
Definition: IWORKPropertyMap.h:134
IWAParser & m_parser
Definition: IWAParser.h:79
@ Tile
Definition: IWAObjectType.h:46
@ PageMaster
Definition: IWAObjectType.h:57
void parseTableHeaders(unsigned id, TableHeader &header)
Definition: IWAParser.cpp:2470
Definition: IWORKTypes.h:148
void parseCellStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1642
@ color
Definition: IWORKToken.h:151
@ IWORK_LINE_JOIN_MITER
Definition: IWORKEnum.h:75
@ IWORK_CELL_TYPE_NUMBER
Definition: IWORKEnum.h:81
@ GridLines
Definition: IWAObjectType.h:54
const IWAFloatField & float_(std::size_t field) const
Definition: IWAMessage.cpp:177
bool m_headerFootersSameAsPrevious
Definition: IWAParser.h:130
void parseMediaStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1594
void collectConnectionPath(const IWORKConnectionPath &path)
Definition: IWORKCollector.cpp:463
void collectBezier(const IWORKPathPtr_t &path)
Definition: IWORKCollector.cpp:330
void parseTableStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1725
@ string
Definition: IWORKToken.h:411
double m_opacity
Definition: IWORKTypes.h:320
@ pos
Definition: IWORKToken.h:592
const unsigned m_rows
Definition: IWAParser.h:148
@ DataList
Definition: IWAObjectType.h:49
@ w
Definition: IWORKToken.h:630
void collectShape(const boost::optional< int > &order=boost::none, bool locked=false)
Definition: IWORKCollector.cpp:382
boost::optional< IWORKPosition > m_positions[3]
Definition: IWORKPath.h:92
Definition: IWAMessage.h:21
DataList_t m_formattedTextList
Definition: IWAParser.h:157
boost::optional< double > m_width
Definition: IWORKStrokeContext.cpp:229
@ column
Definition: IWORKToken.h:152
Definition: IWAField.h:73
@ style
Definition: IWORKToken.h:414
void queryObject(unsigned id, unsigned &type, boost::optional< IWAMessage > &msg) const
Definition: IWAParser.cpp:219
Definition: IWORKTypes.h:299
double y
Definition: IWORKShape.cpp:46
@ IWORK_CELL_TYPE_DATE_TIME
Definition: IWORKEnum.h:83
Definition: IWORKCollector.h:41
StyleMap_t m_listStyles
Definition: IWAParser.h:220
Definition: IWORKTypes.h:356
container_type::const_iterator const_iterator
Definition: IWAField.h:81
IWORKLanguageManager m_langManager
Definition: IWAParser.h:120
std::map< unsigned, boost::variant< std::string, unsigned > > DataList_t
Definition: IWAParser.h:124
Definition: IWORKTypes.h:44
std::string m_footer
Definition: IWORKTypes.h:361
void queryObject(unsigned id, unsigned &type, boost::optional< IWAMessage > &msg) const
Definition: IWAObjectIndex.cpp:103
void startGroup()
Definition: IWORKCollector.cpp:578
void parseDataList(unsigned id, DataList_t &dataList)
Definition: IWAParser.cpp:2233
const IWORKStylePtr_t queryCellStyle(unsigned id) const
Definition: IWAParser.cpp:817
@ IWORK_IMAGE_TYPE_TILE
Definition: IWORKEnum.h:100
void parseTableGridLines(unsigned id, IWORKGridLineMap_t(&gridLines)[4])
Definition: IWAParser.cpp:2494
IWORKColor m_color
Definition: IWORKTypes.h:293
IWORKCellType
Definition: IWORKEnum.h:79
double x
Definition: IWORKShape.cpp:45
@ start
Definition: IWORKToken.h:405
@ IWORK_TABULATION_LEFT
Definition: IWORKEnum.h:152
@ tabs
Definition: IWORKToken.h:422
IWORKDataPtr_t m_data
Definition: IWORKTypes.h:152
boost::variant< IWORKColor, IWORKGradient, IWORKMediaContent > IWORKFill
Definition: IWORKTypes.h:309
const unsigned m_rows
Definition: IWORKTableRecorder.cpp:36
bool m_tiered
Definition: IWORKTypes.h:448
@ cornerRadius
Definition: IWORKToken.h:513
@ _1
Definition: IWORKToken.h:641
unsigned getType() const
Definition: IWAParser.cpp:214
@ IWORK_IMAGE_TYPE_ORIGINAL_SIZE
Definition: IWORKEnum.h:98
@ CELL_TYPE_ROW_HEADER
Definition: IWORKTable.h:56
@ IWORK_IMAGE_TYPE_STRETCH
Definition: IWORKEnum.h:99
void collectGeometry(const IWORKGeometryPtr_t &geometry)
Definition: IWORKCollector.cpp:312
Represents a (hierarchical) property map.
Definition: IWORKPropertyMap.h:24
void parse(IWORKText &collector, const std::function< void(unsigned, IWORKStylePtr_t)> &openPageSpan=nullptr)
Definition: IWAText.cpp:103
@ tailSize
Definition: IWORKToken.h:617
@ first
Definition: IWORKToken.h:524
@ TextRef
Definition: IWAObjectType.h:52
@ stroke
Definition: IWORKToken.h:412
void collectFooter(const std::string &name)
Definition: IWORKCollector.cpp:530
std::shared_ptr< IWORKGeometry > IWORKGeometryPtr_t
Definition: IWORKTypes_fwd.h:41
double deg2rad(double value)
Convert an angle from degrees to radians.
Definition: libetonyek_utils.cpp:230
std::shared_ptr< IWORKStyle > IWORKStylePtr_t
Definition: IWORKStyle_fwd.h:21
@ MediaStyle
Definition: IWAObjectType.h:41
std::map< unsigned, IWORKStylePtr_t > IWORKListLevels_t
Definition: IWORKTypes.h:458
@ IWORK_GRADIENT_TYPE_RADIAL
Definition: IWORKEnum.h:108
@ offset
Definition: IWORKToken.h:587
@ s
Definition: IWORKToken.h:387
Definition: IWORKTypes.h:312
@ IWORK_LABEL_NUM_FORMAT_ALPHA_LOWERCASE
Definition: IWORKEnum.h:130
@ IWORK_IMAGE_TYPE_SCALE_TO_FILL
Definition: IWORKEnum.h:101
void setGraphicStyle(const IWORKStylePtr_t &style)
Definition: IWORKCollector.cpp:292
IWORKStylePtr_t m_style
Definition: IWAParser.h:150
@ end
Definition: IWORKToken.h:189
std::string m_header
Definition: IWORKTypes.h:360
void collectStarPath(const IWORKSize &size, unsigned points, double innerRadius)
Definition: IWORKCollector.cpp:454
boost::optional< ID_t > m_id
Definition: IWORKLineEndElement.cpp:34
bool parse()
Definition: IWAParser.cpp:158
const ValueT & get_optional_value_or(const detail::IWAFieldImpl< TagV, ValueT, Reader > &field, const ValueT &value)
Definition: IWAField.h:196
@ bullets
Definition: KEY1Token.h:43
void parseListStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1769
@ fill
Definition: IWORKToken.h:200
IWAParser & operator=(const IWAParser &)
Definition: IWORKTypes.h:52
uint32_t readU32(const RVNGInputStreamPtr_t &input, bool bigEndian)
Definition: libetonyek_utils.cpp:76
@ DrawableShape
Definition: IWAObjectType.h:26
std::shared_ptr< librevenge::RVNGInputStream > RVNGInputStreamPtr_t
Definition: libetonyek_utils.h:82
boost::optional< IWORKGradientType > m_type
Definition: IWORKFillElement.cpp:132
@ padding
Definition: IWORKToken.h:343
void parseObjectIndex()
Definition: IWAParser.cpp:1371
@ IWORK_LINE_JOIN_ROUND
Definition: IWORKEnum.h:76
Definition: IWAParser.h:62
@ CELL_TYPE_COLUMN_HEADER
Definition: IWORKTable.h:55
const ValueT & get(const detail::IWAFieldImpl< TagV, ValueT, Reader > &field)
Definition: IWAField.h:190
IWORKLabelNumFormat m_format
Definition: IWORKTypes.h:439
const IWORKStylePtr_t queryCharacterStyle(unsigned id) const
Definition: IWAParser.cpp:792
const IWAUInt32Field & uint32(std::size_t field) const
Definition: IWAField.cpp:30
boost::optional< IWAMessage > m_message
Definition: IWAParser.h:80
static boost::optional< IWORKPosition > readPosition(const IWAMessage &msg, unsigned field)
Definition: IWAParser.cpp:251
Definition: IWORKTypes.h:443
@ grid
Definition: IWORKToken.h:240
@ IWORK_LINE_CAP_BUTT
Definition: IWORKEnum.h:68
Definition: IWORKTypes.h:78
@ fontColor
Definition: IWORKToken.h:215
IWAObjectIndex m_index
Definition: IWAParser.h:208
const IWAStringField & string(std::size_t field) const
Definition: IWAField.cpp:65
bool parseAttachment(unsigned id)
Definition: IWAParser.cpp:832
@ HeadersAndFooters
Definition: IWAObjectType.h:59
@ geometry
Definition: IWORKToken.h:232
@ CELL_TYPE_ALTERNATE_BODY
Definition: IWORKTable.h:54
std::map< unsigned, IWORKStylePtr_t > StyleMap_t
Definition: IWAParser.h:86
ObjectMessage(IWAParser &parser, unsigned id, unsigned type=0)
Definition: IWAParser.cpp:164
const IWORKStylePtr_t queryStyle(unsigned id, StyleMap_t &styleMap, StyleParseFun_t parse) const
Definition: IWAParser.cpp:779
bool dispatchShape(unsigned id)
Definition: IWAParser.cpp:453
@ name
Definition: IWORKToken.h:578
boost::optional< std::string > m_path
Definition: IWORKTypes.h:95
@ data
Definition: IWORKToken.h:174
void collectText(const std::shared_ptr< IWORKText > &text)
Definition: IWORKCollector.cpp:549
void setListLevels(const std::map< unsigned, unsigned > &levels)
Definition: IWAText.cpp:88
@ value
Definition: IWORKToken.h:624
Definition: IWAParser.h:141
double m_angle
Definition: IWORKTypes.h:317
std::size_t size() const override
Definition: IWAField.h:118
virtual bool parseDocument()=0
Definition: IWORKTypes.h:422
void parseCharacterStyle(unsigned id, IWORKStylePtr_t &style)
Definition: IWAParser.cpp:1376
@ IWORK_LABEL_NUM_FORMAT_NUMERIC
Definition: IWORKEnum.h:128
@ Link
Definition: IWAObjectType.h:35
IWORKLabelNumFormatSurrounding m_suffix
Definition: IWORKTypes.h:440
const RVNGInputStreamPtr_t queryFile(unsigned id) const
Definition: IWAObjectIndex.cpp:121
void setLanguages(const std::map< unsigned, std::string > &langs)
Definition: IWAText.cpp:78
@ gradient
Definition: KEY1Token.h:58
unsigned m_type
Definition: IWAParser.h:82
std::shared_ptr< IWORKText > m_currentText
Definition: IWAParser.h:121
const IWORKStylePtr_t querySectionStyle(unsigned id) const
Definition: IWAParser.cpp:802
void collectBezierPath()
Definition: IWORKCollector.cpp:418
std::map< unsigned, IWORKGridLine_t > IWORKGridLineMap_t
Definition: IWORKTypes.h:122
@ ParagraphStyle
Definition: IWAObjectType.h:30
@ text
Definition: IWORKToken.h:465
double m_fraction
Definition: IWORKTypes.h:294
void parseTabularModel(unsigned id)
Definition: IWAParser.cpp:2112
uint16_t readU16(const RVNGInputStreamPtr_t &input, bool bigEndian)
Definition: libetonyek_utils.cpp:60
Generated for libetonyek by
doxygen 1.8.17