10 #ifndef __ABWCONTENTCOLLECTOR_H__ 11 #define __ABWCONTENTCOLLECTOR_H__ 18 #include <librevenge/librevenge.h> 115 std::stack<std::pair<int, std::shared_ptr<ABWListElement>>>
m_listLevels;
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);
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 {}
156 void collectData(
const char *name,
const char *mimeType,
const librevenge::RVNGBinaryData &data)
override;
157 void collectHeaderFooter(
const char *
id,
const char *type)
override;
159 void openTable(
const char *props)
override;
160 void closeTable()
override;
161 void openCell(
const char *props)
override;
162 void closeCell()
override;
164 void openFrame(
const char *props,
const char *imageId,
const char *title,
const char *alt)
override;
168 void addMetadataEntry(
const char *name,
const char *value)
override;
176 void _addBorderProperties(
const std::map<std::string, std::string> &map, librevenge::RVNGPropertyList &propList,
const std::string &defaultUndefBorderProp=
"");
178 void _openPageSpan();
179 void _closePageSpan();
182 void _closeSection();
189 void _openParagraph();
190 void _closeParagraph();
192 void _openListElement();
193 void _closeListElement();
195 void _handleListChange();
197 void _recurseListLevels(
int oldLevel,
int newLevel,
int listId);
198 void _writeOutDummyListLevels(
int oldLevel,
int newLevel);
205 void _openTableRow();
206 void _closeTableRow();
207 void _openTableCell();
208 void _closeTableCell();
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);
224 void _fillParagraphProperties(librevenge::RVNGPropertyList &propList,
bool isListElement);
225 bool _convertFieldDTFormat(std::string
const &dtFormat, librevenge::RVNGPropertyListVector &propVect);
227 int getCellPos(
const char *startProp,
const char *endProp,
int defStart);
229 std::shared_ptr<ABWContentParsingState>
m_ps;
238 const std::map<std::string, ABWData> &
m_data;
ABWPropertyMap m_currentTableProperties
Definition: ABWContentCollector.h:50
bool m_inParagraphOrListElement
Definition: ABWContentCollector.h:81
bool m_isSpanOpened
Definition: ABWContentCollector.h:78
bool m_isRowWithoutCell
Definition: ABWContentCollector.h:61
Definition: ABWContentCollector.h:35
bool m_isCellWithoutParagraph
Definition: ABWContentCollector.h:60
ABWOutputElements m_pageOutputElements
Definition: ABWContentCollector.h:242
int m_currentListId
Definition: ABWContentCollector.h:111
bool m_isFooterOpened
Definition: ABWContentCollector.h:74
ABWPropertyMap m_currentCharacterStyle
Definition: ABWContentCollector.h:85
std::stack< std::shared_ptr< ABWContentParsingState > > m_parsingStates
Definition: ABWContentCollector.h:231
std::map< std::string, ABWStyle > m_textStyles
Definition: ABWContentCollector.h:233
ABWPropertyMap m_documentStyle
Definition: ABWContentCollector.h:235
librevenge::RVNGTextInterface * m_iface
Definition: ABWContentCollector.h:230
bool m_deferredColumnBreak
Definition: ABWContentCollector.h:106
bool m_isPageFrame
Definition: ABWContentCollector.h:76
int m_footerLeftId
Definition: ABWContentCollector.h:94
Definition: ABWContentCollector.h:118
bool m_isPageSpanOpened
Definition: ABWContentCollector.h:71
bool m_isTableRowOpened
Definition: ABWContentCollector.h:57
Definition: AbiDocument.cpp:16
int m_currentTableCol
Definition: ABWContentCollector.h:53
ABWOutputElements m_outputElements
Definition: ABWContentCollector.h:241
int m_tableCounter
Definition: ABWContentCollector.h:240
Definition: ABWContentCollector.h:29
Definition: ABWContentCollector.h:27
std::shared_ptr< ABWContentParsingState > m_ps
Definition: ABWContentCollector.h:229
Definition: ABWOutputElements.h:24
int m_currentTableRow
Definition: ABWContentCollector.h:54
Definition: ABWContentCollector.h:64
bool m_isHeaderOpened
Definition: ABWContentCollector.h:73
const std::map< std::string, ABWData > & m_data
Definition: ABWContentCollector.h:238
bool m_deferredPageBreak
Definition: ABWContentCollector.h:105
int m_headerId
Definition: ABWContentCollector.h:97
int m_footerId
Definition: ABWContentCollector.h:93
int m_headerFirstId
Definition: ABWContentCollector.h:99
Definition: ABWContentCollector.h:28
double m_pageMarginRight
Definition: ABWContentCollector.h:92
double m_pageMarginTop
Definition: ABWContentCollector.h:89
int m_footerLastId
Definition: ABWContentCollector.h:96
double m_pageHeight
Definition: ABWContentCollector.h:88
librevenge::RVNGString m_currentHeaderFooterOccurrence
Definition: ABWContentCollector.h:102
std::string basedon
Definition: ABWContentCollector.h:39
Definition: ABWContentCollector.h:32
bool m_isTableCellOpened
Definition: ABWContentCollector.h:59
std::string followedby
Definition: ABWContentCollector.h:40
std::vector< std::shared_ptr< ABWListElement > > m_dummyListElements
Definition: ABWContentCollector.h:244
double m_pageWidth
Definition: ABWContentCollector.h:87
~ABWStyle()
Definition: ABWContentCollector.h:38
int m_currentListLevel
Definition: ABWContentCollector.h:110
double m_pageMarginBottom
Definition: ABWContentCollector.h:90
bool m_isTableColumnOpened
Definition: ABWContentCollector.h:58
const std::map< int, std::shared_ptr< ABWListElement > > & m_listElements
Definition: ABWContentCollector.h:243
std::set< std::string > m_dontLoop
Definition: ABWContentCollector.h:232
Definition: ABWCollector.h:106
int m_currentHeaderFooterId
Definition: ABWContentCollector.h:101
bool m_isDocumentStarted
Definition: ABWContentCollector.h:70
int m_headerLastId
Definition: ABWContentCollector.h:100
ABWContext
Definition: ABWContentCollector.h:25
double m_pageMarginLeft
Definition: ABWContentCollector.h:91
std::stack< ABWContentTableState > m_tableStates
Definition: ABWContentCollector.h:114
std::stack< std::pair< int, std::shared_ptr< ABWListElement > > > m_listLevels
Definition: ABWContentCollector.h:115
ABWPropertyMap m_currentCellProperties
Definition: ABWContentCollector.h:51
int m_footerFirstId
Definition: ABWContentCollector.h:95
ABWPropertyMap properties
Definition: ABWContentCollector.h:41
int m_currentTableCellNumberInRow
Definition: ABWContentCollector.h:55
void collectList(const char *, const char *, const char *, const char *, const char *, const char *) override
Definition: ABWContentCollector.h:154
bool m_isNote
Definition: ABWContentCollector.h:108
ABWStyle()
Definition: ABWContentCollector.h:37
bool m_isListElementOpened
Definition: ABWContentCollector.h:80
ABWPropertyMap m_currentParagraphStyle
Definition: ABWContentCollector.h:84
ABWPropertyMap m_currentSectionStyle
Definition: ABWContentCollector.h:83
Definition: ABWContentCollector.h:44
std::map< std::string, std::string > ABWPropertyMap
Definition: ABWCollector.h:39
Definition: ABWContentCollector.h:31
bool m_isParagraphOpened
Definition: ABWContentCollector.h:79
int m_headerLeftId
Definition: ABWContentCollector.h:98
ABWPropertyMap m_metadata
Definition: ABWContentCollector.h:236
ABWContext m_parsingContext
Definition: ABWContentCollector.h:103
int m_currentTableId
Definition: ABWContentCollector.h:56
bool m_isFirstTextInListElement
Definition: ABWContentCollector.h:112
const std::map< int, int > & m_tableSizes
Definition: ABWContentCollector.h:239
Definition: ABWContentCollector.h:30
bool m_isSectionOpened
Definition: ABWContentCollector.h:72