ABWContentCollector.h Source File documentation

ABWContentCollector.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /*
3 * This file is part of the libabw project.
4 *
5 * This Source Code Form is subject to the terms of the Mozilla Public
6 * License, v. 2.0. If a copy of the MPL was not distributed with this
7 * file, You can obtain one at http://mozilla.org/MPL/2.0/.
8 */
9
10 #ifndef __ABWCONTENTCOLLECTOR_H__
11 #define __ABWCONTENTCOLLECTOR_H__
12
13 #include <memory>
14 #include <vector>
15 #include <stack>
16 #include <set>
17
18 #include <librevenge/librevenge.h>
19 #include "ABWOutputElements.h"
20 #include "ABWCollector.h"
21
22 namespace libabw
23 {
24
25 enum ABWContext
26 {
27 ABW_SECTION,
28 ABW_HEADER,
29 ABW_FOOTER,
30 ABW_FRAME_IMAGE,
31 ABW_FRAME_TEXTBOX,
32 ABW_FRAME_UNKNOWN
33 };
34
35 struct ABWStyle
36 {
37 ABWStyle() : basedon(), followedby(), properties() {}
38 ~ABWStyle() {}
39 std::string basedon;
40 std::string followedby;
41 ABWPropertyMap properties;
42 };
43
44 struct ABWContentTableState
45 {
46 ABWContentTableState();
47 ABWContentTableState(const ABWContentTableState &ts);
48 ~ABWContentTableState();
49
50 ABWPropertyMap m_currentTableProperties;
51 ABWPropertyMap m_currentCellProperties;
52
53 int m_currentTableCol;
54 int m_currentTableRow;
55 int m_currentTableCellNumberInRow;
56 int m_currentTableId;
57 bool m_isTableRowOpened;
58 bool m_isTableColumnOpened;
59 bool m_isTableCellOpened;
60 bool m_isCellWithoutParagraph;
61 bool m_isRowWithoutCell;
62 };
63
64 struct ABWContentParsingState
65 {
66 ABWContentParsingState();
67 ABWContentParsingState(const ABWContentParsingState &ps);
68 ~ABWContentParsingState();
69
70 bool m_isDocumentStarted;
71 bool m_isPageSpanOpened;
72 bool m_isSectionOpened;
73 bool m_isHeaderOpened;
74 bool m_isFooterOpened;
75
76 bool m_isPageFrame;
77
78 bool m_isSpanOpened;
79 bool m_isParagraphOpened;
80 bool m_isListElementOpened;
81 bool m_inParagraphOrListElement;
82
83 ABWPropertyMap m_currentSectionStyle;
84 ABWPropertyMap m_currentParagraphStyle;
85 ABWPropertyMap m_currentCharacterStyle;
86
87 double m_pageWidth;
88 double m_pageHeight;
89 double m_pageMarginTop;
90 double m_pageMarginBottom;
91 double m_pageMarginLeft;
92 double m_pageMarginRight;
93 int m_footerId;
94 int m_footerLeftId;
95 int m_footerFirstId;
96 int m_footerLastId;
97 int m_headerId;
98 int m_headerLeftId;
99 int m_headerFirstId;
100 int m_headerLastId;
101 int m_currentHeaderFooterId;
102 librevenge::RVNGString m_currentHeaderFooterOccurrence;
103 ABWContext m_parsingContext;
104
105 bool m_deferredPageBreak;
106 bool m_deferredColumnBreak;
107
108 bool m_isNote;
109
110 int m_currentListLevel;
111 int m_currentListId;
112 bool m_isFirstTextInListElement;
113
114 std::stack<ABWContentTableState> m_tableStates;
115 std::stack<std::pair<int, std::shared_ptr<ABWListElement>>> m_listLevels;
116 };
117
118 class ABWContentCollector : public ABWCollector
119 {
120 public:
121 ABWContentCollector(librevenge::RVNGTextInterface *iface, const std::map<int, int> &tableSizes,
122 const std::map<std::string, ABWData> &data,
123 const std::map<int, std::shared_ptr<ABWListElement>> &listElements);
124 ~ABWContentCollector() override;
125
126 // collector functions
127
128 void collectTextStyle(const char *name, const char *basedon, const char *followedby, const char *props) override;
129 void collectDocumentProperties(const char *props) override;
130 void collectParagraphProperties(const char *level, const char *listid, const char *parentid, const char *style, const char *props) override;
131 void collectSectionProperties(const char *footer, const char *footerLeft, const char *footerFirst, const char *footerLast,
132 const char *header, const char *headerLeft, const char *headerFirst, const char *headerLast,
133 const char *props) override;
134 void collectCharacterProperties(const char *style, const char *props) override;
135 void collectPageSize(const char *width, const char *height, const char *units, const char *pageScale) override;
136 void closeParagraphOrListElement() override;
137 void closeSpan() override;
138 void openLink(const char *href) override;
139 void closeLink() override;
140 void openFoot(const char *id) override;
141 void closeFoot() override;
142 void openEndnote(const char *id) override;
143 void closeEndnote() override;
144 void openField(const char *type, const char *id) override;
145 void closeField() override;
146 void endSection() override;
147 void startDocument() override;
148 void endDocument() override;
149 void insertLineBreak() override;
150 void insertColumnBreak() override;
151 void insertPageBreak() override;
152 void insertText(const char *text) override;
153 void insertImage(const char *dataid, const char *props) override;
154 void collectList(const char *, const char *, const char *, const char *, const char *, const char *) override {}
155
156 void collectData(const char *name, const char *mimeType, const librevenge::RVNGBinaryData &data) override;
157 void collectHeaderFooter(const char *id, const char *type) override;
158
159 void openTable(const char *props) override;
160 void closeTable() override;
161 void openCell(const char *props) override;
162 void closeCell() override;
163
164 void openFrame(const char *props, const char *imageId, const char *title, const char *alt) override;
165 void closeFrame(ABWOutputElements *(&elements), bool &pageFrame) override;
166 void addFrameElements(ABWOutputElements &elements, bool pageFrame) override;
167
168 void addMetadataEntry(const char *name, const char *value) override;
169
170 private:
171 ABWContentCollector(const ABWContentCollector &);
172 ABWContentCollector &operator=(const ABWContentCollector &);
173
174 void _setMetadata();
175
176 void _addBorderProperties(const std::map<std::string, std::string> &map, librevenge::RVNGPropertyList &propList, const std::string &defaultUndefBorderProp="");
177
178 void _openPageSpan();
179 void _closePageSpan();
180
181 void _openSection();
182 void _closeSection();
183
185 void _openBlock();
187 void _closeBlock();
188
189 void _openParagraph();
190 void _closeParagraph();
191
192 void _openListElement();
193 void _closeListElement();
194
195 void _handleListChange();
196 void _changeList();
197 void _recurseListLevels(int oldLevel, int newLevel, int listId);
198 void _writeOutDummyListLevels(int oldLevel, int newLevel);
199
200 void _openSpan();
201 void _closeSpan();
202
203 void _openTable();
204 void _closeTable();
205 void _openTableRow();
206 void _closeTableRow();
207 void _openTableCell();
208 void _closeTableCell();
209
210 void _openHeader();
211 void _closeHeader();
212 void _openFooter();
213 void _closeFooter();
214
215 void _recurseTextProperties(const char *name, ABWPropertyMap &styleProps);
216 std::string _findDocumentProperty(const char *name);
217 std::string _findParagraphProperty(const char *name);
218 std::string _findCharacterProperty(const char *name);
219 std::string _findTableProperty(const char *name);
220 std::string _findCellProperty(const char *name);
221 std::string _findSectionProperty(const char *name);
222 std::string _findMetadataEntry(const char *name);
223
224 void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, bool isListElement);
225 bool _convertFieldDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVector &propVect);
226
227 int getCellPos(const char *startProp, const char *endProp, int defStart);
228
229 std::shared_ptr<ABWContentParsingState> m_ps;
230 librevenge::RVNGTextInterface *m_iface;
231 std::stack<std::shared_ptr<ABWContentParsingState> > m_parsingStates;
232 std::set<std::string> m_dontLoop;
233 std::map<std::string, ABWStyle> m_textStyles;
234
235 ABWPropertyMap m_documentStyle;
236 ABWPropertyMap m_metadata;
237
238 const std::map<std::string, ABWData> &m_data;
239 const std::map<int, int> &m_tableSizes;
240 int m_tableCounter;
241 ABWOutputElements m_outputElements;
242 ABWOutputElements m_pageOutputElements;
243 const std::map<int, std::shared_ptr<ABWListElement>> &m_listElements;
244 std::vector<std::shared_ptr<ABWListElement>> m_dummyListElements;
245 };
246
247 } // namespace libabw
248
249 #endif /* __ABWCOLLECTOR_H__ */
250 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
libabw::ABWContentCollector::_addBorderProperties
void _addBorderProperties(const std::map< std::string, std::string > &map, librevenge::RVNGPropertyList &propList, const std::string &defaultUndefBorderProp="")
Definition: ABWContentCollector.cpp:536
libabw::ABWContentCollector::_findSectionProperty
std::string _findSectionProperty(const char *name)
Definition: ABWContentCollector.cpp:512
libabw::ABWContentTableState::m_currentTableProperties
ABWPropertyMap m_currentTableProperties
Definition: ABWContentCollector.h:50
libabw::ABWContentParsingState::m_inParagraphOrListElement
bool m_inParagraphOrListElement
Definition: ABWContentCollector.h:81
ABWOutputElements.h
libabw::ABWContentCollector::_closePageSpan
void _closePageSpan()
Definition: ABWContentCollector.cpp:972
libabw::ABWContentParsingState::ABWContentParsingState
ABWContentParsingState()
Definition: ABWContentCollector.cpp:322
libabw::ABWContentCollector::startDocument
void startDocument() override
Definition: ABWContentCollector.cpp:786
libabw::ABWContentParsingState::m_isSpanOpened
bool m_isSpanOpened
Definition: ABWContentCollector.h:78
libabw::ABWContentCollector::collectTextStyle
void collectTextStyle(const char *name, const char *basedon, const char *followedby, const char *props) override
Definition: ABWContentCollector.cpp:448
libabw::ABWContentTableState::m_isRowWithoutCell
bool m_isRowWithoutCell
Definition: ABWContentCollector.h:61
libabw::ABWContentCollector::operator=
ABWContentCollector & operator=(const ABWContentCollector &)
libabw::ABWStyle
Definition: ABWContentCollector.h:35
libabw::ABWContentCollector::_openParagraph
void _openParagraph()
Definition: ABWContentCollector.cpp:1169
libabw::ABWContentCollector::insertPageBreak
void insertPageBreak() override
Definition: ABWContentCollector.cpp:922
libabw::ABWContentTableState::m_isCellWithoutParagraph
bool m_isCellWithoutParagraph
Definition: ABWContentCollector.h:60
libabw::ABWContentCollector::m_pageOutputElements
ABWOutputElements m_pageOutputElements
Definition: ABWContentCollector.h:242
libabw::ABWContentParsingState::m_currentListId
int m_currentListId
Definition: ABWContentCollector.h:111
libabw::ABWContentTableState::~ABWContentTableState
~ABWContentTableState()
Definition: ABWContentCollector.cpp:318
libabw::ABWContentCollector::_changeList
void _changeList()
Definition: ABWContentCollector.cpp:2353
libabw::ABWContentCollector::_closeFooter
void _closeFooter()
Definition: ABWContentCollector.cpp:1391
libabw::ABWContentCollector::~ABWContentCollector
~ABWContentCollector() override
Definition: ABWContentCollector.cpp:444
libabw::ABWContentParsingState::m_isFooterOpened
bool m_isFooterOpened
Definition: ABWContentCollector.h:74
libabw::ABWContentParsingState::m_currentCharacterStyle
ABWPropertyMap m_currentCharacterStyle
Definition: ABWContentCollector.h:85
libabw::ABWContentCollector::m_parsingStates
std::stack< std::shared_ptr< ABWContentParsingState > > m_parsingStates
Definition: ABWContentCollector.h:231
libabw::ABWContentCollector::m_textStyles
std::map< std::string, ABWStyle > m_textStyles
Definition: ABWContentCollector.h:233
libabw::ABWContentCollector::m_documentStyle
ABWPropertyMap m_documentStyle
Definition: ABWContentCollector.h:235
libabw::ABWContentCollector::m_iface
librevenge::RVNGTextInterface * m_iface
Definition: ABWContentCollector.h:230
libabw::ABWContentParsingState::m_deferredColumnBreak
bool m_deferredColumnBreak
Definition: ABWContentCollector.h:106
libabw::ABWContentCollector::closeEndnote
void closeEndnote() override
Definition: ABWContentCollector.cpp:1632
libabw::ABWContentParsingState::m_isPageFrame
bool m_isPageFrame
Definition: ABWContentCollector.h:76
libabw::ABWContentCollector::openFrame
void openFrame(const char *props, const char *imageId, const char *title, const char *alt) override
Definition: ABWContentCollector.cpp:2078
libabw::ABWContentCollector::collectCharacterProperties
void collectCharacterProperties(const char *style, const char *props) override
Definition: ABWContentCollector.cpp:607
libabw::ABWContentCollector::_openListElement
void _openListElement()
Definition: ABWContentCollector.cpp:1216
libabw::ABWContentParsingState::m_footerLeftId
int m_footerLeftId
Definition: ABWContentCollector.h:94
libabw::ABWContentCollector
Definition: ABWContentCollector.h:118
libabw::ABWContentParsingState::m_isPageSpanOpened
bool m_isPageSpanOpened
Definition: ABWContentCollector.h:71
libabw::ABWContentTableState::m_isTableRowOpened
bool m_isTableRowOpened
Definition: ABWContentCollector.h:57
libabw::ABWContentCollector::openTable
void openTable(const char *props) override
Definition: ABWContentCollector.cpp:1969
libabw
Definition: AbiDocument.cpp:16
libabw::ABWContentTableState::m_currentTableCol
int m_currentTableCol
Definition: ABWContentCollector.h:53
libabw::ABWContentCollector::m_outputElements
ABWOutputElements m_outputElements
Definition: ABWContentCollector.h:241
libabw::ABWContentCollector::insertImage
void insertImage(const char *dataid, const char *props) override
Definition: ABWContentCollector.cpp:2247
libabw::ABWContentCollector::m_tableCounter
int m_tableCounter
Definition: ABWContentCollector.h:240
libabw::ABWContentCollector::_openPageSpan
void _openPageSpan()
Definition: ABWContentCollector.cpp:945
libabw::ABW_FOOTER
Definition: ABWContentCollector.h:29
libabw::ABW_SECTION
Definition: ABWContentCollector.h:27
libabw::ABWContentCollector::_closeSection
void _closeSection()
Definition: ABWContentCollector.cpp:1355
libabw::ABWContentCollector::_closeTableRow
void _closeTableRow()
Definition: ABWContentCollector.cpp:1523
libabw::ABWContentCollector::m_ps
std::shared_ptr< ABWContentParsingState > m_ps
Definition: ABWContentCollector.h:229
libabw::ABWOutputElements
Definition: ABWOutputElements.h:24
libabw::ABWContentTableState::m_currentTableRow
int m_currentTableRow
Definition: ABWContentCollector.h:54
libabw::ABWContentCollector::addFrameElements
void addFrameElements(ABWOutputElements &elements, bool pageFrame) override
Definition: ABWContentCollector.cpp:2232
libabw::ABWContentParsingState
Definition: ABWContentCollector.h:64
libabw::ABWContentCollector::collectSectionProperties
void collectSectionProperties(const char *footer, const char *footerLeft, const char *footerFirst, const char *footerLast, const char *header, const char *headerLeft, const char *headerFirst, const char *headerLast, const char *props) override
Definition: ABWContentCollector.cpp:625
libabw::ABWContentCollector::collectParagraphProperties
void collectParagraphProperties(const char *level, const char *listid, const char *parentid, const char *style, const char *props) override
Definition: ABWContentCollector.cpp:583
libabw::ABWContentParsingState::m_isHeaderOpened
bool m_isHeaderOpened
Definition: ABWContentCollector.h:73
libabw::ABWContentCollector::_convertFieldDTFormat
bool _convertFieldDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVector &propVect)
Definition: ABWContentCollector.cpp:1862
libabw::ABWContentCollector::collectPageSize
void collectPageSize(const char *width, const char *height, const char *units, const char *pageScale) override
Definition: ABWContentCollector.cpp:769
libabw::ABWContentCollector::m_data
const std::map< std::string, ABWData > & m_data
Definition: ABWContentCollector.h:238
libabw::ABWContentCollector::_closeTableCell
void _closeTableCell()
Definition: ABWContentCollector.cpp:1568
libabw::ABWContentTableState::ABWContentTableState
ABWContentTableState()
Definition: ABWContentCollector.cpp:286
libabw::ABWContentCollector::openFoot
void openFoot(const char *id) override
Definition: ABWContentCollector.cpp:1583
libabw::ABWContentParsingState::m_deferredPageBreak
bool m_deferredPageBreak
Definition: ABWContentCollector.h:105
libabw::ABWContentCollector::insertColumnBreak
void insertColumnBreak() override
Definition: ABWContentCollector.cpp:916
libabw::ABWContentParsingState::m_headerId
int m_headerId
Definition: ABWContentCollector.h:97
libabw::ABWContentCollector::_findDocumentProperty
std::string _findDocumentProperty(const char *name)
Definition: ABWContentCollector.cpp:490
libabw::ABWContentCollector::closeFrame
void closeFrame(ABWOutputElements *(&elements), bool &pageFrame) override
Definition: ABWContentCollector.cpp:2207
libabw::ABWContentParsingState::m_footerId
int m_footerId
Definition: ABWContentCollector.h:93
libabw::ABWContentCollector::addMetadataEntry
void addMetadataEntry(const char *name, const char *value) override
Definition: ABWContentCollector.cpp:2372
libabw::ABWContentCollector::_openTableCell
void _openTableCell()
Definition: ABWContentCollector.cpp:1540
libabw::ABWContentCollector::_openTableRow
void _openTableRow()
Definition: ABWContentCollector.cpp:1508
libabw::ABWContentParsingState::m_headerFirstId
int m_headerFirstId
Definition: ABWContentCollector.h:99
libabw::ABWContentCollector::getCellPos
int getCellPos(const char *startProp, const char *endProp, int defStart)
Definition: ABWContentCollector.cpp:2035
libabw::ABW_HEADER
Definition: ABWContentCollector.h:28
libabw::ABWContentParsingState::m_pageMarginRight
double m_pageMarginRight
Definition: ABWContentCollector.h:92
libabw::ABWContentCollector::insertLineBreak
void insertLineBreak() override
Definition: ABWContentCollector.cpp:908
libabw::ABWContentCollector::endSection
void endSection() override
Definition: ABWContentCollector.cpp:863
libabw::ABWContentCollector::_closeHeader
void _closeHeader()
Definition: ABWContentCollector.cpp:1372
libabw::ABWContentParsingState::m_pageMarginTop
double m_pageMarginTop
Definition: ABWContentCollector.h:89
libabw::ABWContentCollector::_recurseListLevels
void _recurseListLevels(int oldLevel, int newLevel, int listId)
Definition: ABWContentCollector.cpp:2329
libabw::ABWContentParsingState::m_footerLastId
int m_footerLastId
Definition: ABWContentCollector.h:96
libabw::ABWContentCollector::_findTableProperty
std::string _findTableProperty(const char *name)
Definition: ABWContentCollector.cpp:500
libabw::ABWContentParsingState::m_pageHeight
double m_pageHeight
Definition: ABWContentCollector.h:88
libabw::ABWContentCollector::closeTable
void closeTable() override
Definition: ABWContentCollector.cpp:2007
libabw::ABWContentCollector::closeSpan
void closeSpan() override
Definition: ABWContentCollector.cpp:902
libabw::ABWContentCollector::_openSpan
void _openSpan()
Definition: ABWContentCollector.cpp:1261
libabw::ABWContentCollector::collectHeaderFooter
void collectHeaderFooter(const char *id, const char *type) override
Definition: ABWContentCollector.cpp:740
libabw::ABWContentCollector::_closeTable
void _closeTable()
Definition: ABWContentCollector.cpp:1495
libabw::ABWContentParsingState::m_currentHeaderFooterOccurrence
librevenge::RVNGString m_currentHeaderFooterOccurrence
Definition: ABWContentCollector.h:102
libabw::ABWStyle::basedon
std::string basedon
Definition: ABWContentCollector.h:39
libabw::ABW_FRAME_UNKNOWN
Definition: ABWContentCollector.h:32
libabw::ABWContentCollector::_findCharacterProperty
std::string _findCharacterProperty(const char *name)
Definition: ABWContentCollector.cpp:517
libabw::ABWContentTableState::m_isTableCellOpened
bool m_isTableCellOpened
Definition: ABWContentCollector.h:59
libabw::ABWContentCollector::_handleListChange
void _handleListChange()
Definition: ABWContentCollector.cpp:2287
libabw::ABWStyle::followedby
std::string followedby
Definition: ABWContentCollector.h:40
libabw::ABWContentCollector::m_dummyListElements
std::vector< std::shared_ptr< ABWListElement > > m_dummyListElements
Definition: ABWContentCollector.h:244
libabw::ABWContentParsingState::m_pageWidth
double m_pageWidth
Definition: ABWContentCollector.h:87
libabw::ABWStyle::~ABWStyle
~ABWStyle()
Definition: ABWContentCollector.h:38
libabw::ABWContentParsingState::m_currentListLevel
int m_currentListLevel
Definition: ABWContentCollector.h:110
libabw::ABWContentParsingState::~ABWContentParsingState
~ABWContentParsingState()
Definition: ABWContentCollector.cpp:420
libabw::ABWContentParsingState::m_pageMarginBottom
double m_pageMarginBottom
Definition: ABWContentCollector.h:90
libabw::ABWContentCollector::_setMetadata
void _setMetadata()
Definition: ABWContentCollector.cpp:829
libabw::ABWContentTableState::m_isTableColumnOpened
bool m_isTableColumnOpened
Definition: ABWContentCollector.h:58
libabw::ABWContentCollector::_openTable
void _openTable()
Definition: ABWContentCollector.cpp:1430
libabw::ABWContentCollector::_openFooter
void _openFooter()
Definition: ABWContentCollector.cpp:1034
libabw::ABWContentCollector::m_listElements
const std::map< int, std::shared_ptr< ABWListElement > > & m_listElements
Definition: ABWContentCollector.h:243
libabw::ABWContentCollector::insertText
void insertText(const char *text) override
Definition: ABWContentCollector.cpp:928
libabw::ABWContentCollector::_closeListElement
void _closeListElement()
Definition: ABWContentCollector.cpp:2359
libabw::ABWContentCollector::m_dontLoop
std::set< std::string > m_dontLoop
Definition: ABWContentCollector.h:232
libabw::ABWCollector
Definition: ABWCollector.h:107
libabw::ABWContentParsingState::m_currentHeaderFooterId
int m_currentHeaderFooterId
Definition: ABWContentCollector.h:101
libabw::ABWContentCollector::openField
void openField(const char *type, const char *id) override
Definition: ABWContentCollector.cpp:1647
libabw::ABWContentParsingState::m_isDocumentStarted
bool m_isDocumentStarted
Definition: ABWContentCollector.h:70
libabw::ABWContentParsingState::m_headerLastId
int m_headerLastId
Definition: ABWContentCollector.h:100
libabw::ABWContentCollector::openLink
void openLink(const char *href) override
Definition: ABWContentCollector.cpp:882
libabw::ABWContentCollector::collectData
void collectData(const char *name, const char *mimeType, const librevenge::RVNGBinaryData &data) override
Definition: ABWContentCollector.cpp:2243
libabw::ABWContentCollector::_openHeader
void _openHeader()
Definition: ABWContentCollector.cpp:1046
libabw::ABWContentCollector::closeParagraphOrListElement
void closeParagraphOrListElement() override
Definition: ABWContentCollector.cpp:872
libabw::ABWContext
ABWContext
Definition: ABWContentCollector.h:25
libabw::ABWContentParsingState::m_pageMarginLeft
double m_pageMarginLeft
Definition: ABWContentCollector.h:91
libabw::ABWContentCollector::openCell
void openCell(const char *props) override
Definition: ABWContentCollector.cpp:2015
libabw::ABWContentParsingState::m_tableStates
std::stack< ABWContentTableState > m_tableStates
Definition: ABWContentCollector.h:114
libabw::ABWContentParsingState::m_listLevels
std::stack< std::pair< int, std::shared_ptr< ABWListElement > > > m_listLevels
Definition: ABWContentCollector.h:115
libabw::ABWContentTableState::m_currentCellProperties
ABWPropertyMap m_currentCellProperties
Definition: ABWContentCollector.h:51
libabw::ABWContentCollector::closeField
void closeField() override
Definition: ABWContentCollector.cpp:1965
libabw::ABWContentCollector::_openBlock
void _openBlock()
open a paragraph or a list element (depend on m_currentListLevel)
Definition: ABWContentCollector.cpp:1147
libabw::ABWContentParsingState::m_footerFirstId
int m_footerFirstId
Definition: ABWContentCollector.h:95
libabw::ABWStyle::properties
ABWPropertyMap properties
Definition: ABWContentCollector.h:41
libabw::ABWContentCollector::_openSection
void _openSection()
Definition: ABWContentCollector.cpp:985
libabw::ABWContentCollector::collectDocumentProperties
void collectDocumentProperties(const char *props) override
Definition: ABWContentCollector.cpp:530
libabw::ABWContentCollector::ABWContentCollector
ABWContentCollector(librevenge::RVNGTextInterface *iface, const std::map< int, int > &tableSizes, const std::map< std::string, ABWData > &data, const std::map< int, std::shared_ptr< ABWListElement >> &listElements)
Definition: ABWContentCollector.cpp:424
libabw::ABWContentTableState::m_currentTableCellNumberInRow
int m_currentTableCellNumberInRow
Definition: ABWContentCollector.h:55
libabw::ABWContentCollector::_writeOutDummyListLevels
void _writeOutDummyListLevels(int oldLevel, int newLevel)
Definition: ABWContentCollector.cpp:2315
libabw::ABWContentCollector::closeCell
void closeCell() override
Definition: ABWContentCollector.cpp:2069
libabw::ABWContentCollector::collectList
void collectList(const char *, const char *, const char *, const char *, const char *, const char *) override
Definition: ABWContentCollector.h:154
libabw::ABWContentParsingState::m_isNote
bool m_isNote
Definition: ABWContentCollector.h:108
libabw::ABWStyle::ABWStyle
ABWStyle()
Definition: ABWContentCollector.h:37
libabw::ABWContentCollector::openEndnote
void openEndnote(const char *id) override
Definition: ABWContentCollector.cpp:1615
libabw::ABWContentParsingState::m_isListElementOpened
bool m_isListElementOpened
Definition: ABWContentCollector.h:80
libabw::ABWContentParsingState::m_currentParagraphStyle
ABWPropertyMap m_currentParagraphStyle
Definition: ABWContentCollector.h:84
libabw::ABWContentCollector::_closeSpan
void _closeSpan()
Definition: ABWContentCollector.cpp:1422
libabw::ABWContentParsingState::m_currentSectionStyle
ABWPropertyMap m_currentSectionStyle
Definition: ABWContentCollector.h:83
libabw::ABWContentTableState
Definition: ABWContentCollector.h:44
libabw::ABWPropertyMap
std::map< std::string, std::string > ABWPropertyMap
Definition: ABWCollector.h:39
libabw::ABWContentCollector::_findParagraphProperty
std::string _findParagraphProperty(const char *name)
Definition: ABWContentCollector.cpp:495
libabw::ABWContentCollector::_closeParagraph
void _closeParagraph()
Definition: ABWContentCollector.cpp:1410
libabw::ABWContentCollector::_findCellProperty
std::string _findCellProperty(const char *name)
Definition: ABWContentCollector.cpp:506
libabw::ABWContentCollector::endDocument
void endDocument() override
Definition: ABWContentCollector.cpp:801
libabw::ABW_FRAME_TEXTBOX
Definition: ABWContentCollector.h:31
libabw::ABWContentParsingState::m_isParagraphOpened
bool m_isParagraphOpened
Definition: ABWContentCollector.h:79
libabw::ABWContentParsingState::m_headerLeftId
int m_headerLeftId
Definition: ABWContentCollector.h:98
ABWCollector.h
libabw::ABWContentCollector::_recurseTextProperties
void _recurseTextProperties(const char *name, ABWPropertyMap &styleProps)
Definition: ABWContentCollector.cpp:459
libabw::ABWContentCollector::_findMetadataEntry
std::string _findMetadataEntry(const char *name)
Definition: ABWContentCollector.cpp:525
libabw::ABWContentCollector::m_metadata
ABWPropertyMap m_metadata
Definition: ABWContentCollector.h:236
libabw::ABWContentParsingState::m_parsingContext
ABWContext m_parsingContext
Definition: ABWContentCollector.h:103
libabw::ABWContentTableState::m_currentTableId
int m_currentTableId
Definition: ABWContentCollector.h:56
libabw::ABWContentParsingState::m_isFirstTextInListElement
bool m_isFirstTextInListElement
Definition: ABWContentCollector.h:112
libabw::ABWContentCollector::m_tableSizes
const std::map< int, int > & m_tableSizes
Definition: ABWContentCollector.h:239
libabw::ABW_FRAME_IMAGE
Definition: ABWContentCollector.h:30
libabw::ABWContentCollector::_closeBlock
void _closeBlock()
close the current paragraph or list element
Definition: ABWContentCollector.cpp:1157
libabw::ABWContentParsingState::m_isSectionOpened
bool m_isSectionOpened
Definition: ABWContentCollector.h:72
libabw::ABWContentCollector::closeLink
void closeLink() override
Definition: ABWContentCollector.cpp:895
libabw::ABWContentCollector::closeFoot
void closeFoot() override
Definition: ABWContentCollector.cpp:1600
libabw::ABWContentCollector::_fillParagraphProperties
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, bool isListElement)
Definition: ABWContentCollector.cpp:1058