Go to the documentation of this file.
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;
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;
135 void collectPageSize(
const char *width,
const char *height,
const char *units,
const char *pageScale)
override;
138 void openLink(
const char *href)
override;
140 void openFoot(
const char *
id)
override;
144 void openField(
const char *type,
const char *
id)
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;
159 void openTable(
const char *props)
override;
161 void openCell(
const char *props)
override;
164 void openFrame(
const char *props,
const char *imageId,
const char *title,
const char *alt)
override;
176 void _addBorderProperties(
const std::map<std::string, std::string> &map, librevenge::RVNGPropertyList &propList,
const std::string &defaultUndefBorderProp=
"");
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;
Definition: ABWContentCollector.h:119
bool m_inParagraphOrListElement
Definition: ABWContentCollector.h:81
bool m_isTableRowOpened
Definition: ABWContentCollector.h:57
std::map< std::string, ABWStyle > m_textStyles
Definition: ABWContentCollector.h:233
bool m_isSectionOpened
Definition: ABWContentCollector.h:72
ABWPropertyMap m_currentParagraphStyle
Definition: ABWContentCollector.h:84
bool findDouble(const std::string &str, double &res, ABWUnit &unit)
Definition: ABWCollector.cpp:45
void endSection() override
Definition: ABWContentCollector.cpp:863
void _closeFooter()
Definition: ABWContentCollector.cpp:1391
int m_tableCounter
Definition: ABWContentCollector.h:240
#define MAX_LIST_LEVEL
Definition: ABWContentCollector.cpp:27
void closeEndnote() override
Definition: ABWContentCollector.cpp:1632
Definition: ABWOutputElements.h:25
@ ABW_FRAME_UNKNOWN
Definition: ABWContentCollector.h:32
ABWPropertyMap m_documentStyle
Definition: ABWContentCollector.h:235
ABWPropertyMap m_currentTableProperties
Definition: ABWContentCollector.h:50
bool m_isNote
Definition: ABWContentCollector.h:108
void _openListElement()
Definition: ABWContentCollector.cpp:1216
void parsePropString(const std::string &str, ABWPropertyMap &props)
Definition: ABWCollector.cpp:27
bool m_isPageSpanOpened
Definition: ABWContentCollector.h:71
librevenge::RVNGString m_currentHeaderFooterOccurrence
Definition: ABWContentCollector.h:102
void collectTextStyle(const char *name, const char *basedon, const char *followedby, const char *props) override
Definition: ABWContentCollector.cpp:448
void _openTableRow()
Definition: ABWContentCollector.cpp:1508
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
void _closeHeader()
Definition: ABWContentCollector.cpp:1372
void _openParagraph()
Definition: ABWContentCollector.cpp:1169
void _openHeader()
Definition: ABWContentCollector.cpp:1046
void closeParagraphOrListElement() override
Definition: ABWContentCollector.cpp:872
librevenge::RVNGTextInterface * m_iface
Definition: ABWContentCollector.h:230
ABWPropertyMap m_metadata
Definition: ABWContentCollector.h:236
std::string _findDocumentProperty(const char *name)
Definition: ABWContentCollector.cpp:490
int m_currentTableId
Definition: ABWContentCollector.h:56
const std::map< int, int > & m_tableSizes
Definition: ABWContentCollector.h:239
void openEndnote(const char *id) override
Definition: ABWContentCollector.cpp:1615
ABWOutputElements m_pageOutputElements
Definition: ABWContentCollector.h:242
std::shared_ptr< ABWContentParsingState > m_ps
Definition: ABWContentCollector.h:229
bool m_isFirstTextInListElement
Definition: ABWContentCollector.h:112
void _closeListElement()
Definition: ABWContentCollector.cpp:2359
~ABWContentCollector() override
Definition: ABWContentCollector.cpp:444
void collectParagraphProperties(const char *level, const char *listid, const char *parentid, const char *style, const char *props) override
Definition: ABWContentCollector.cpp:583
Definition: ABWCollector.h:108
double m_pageMarginRight
Definition: ABWContentCollector.h:92
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
ABWContentCollector & operator=(const ABWContentCollector &)
~ABWContentTableState()
Definition: ABWContentCollector.cpp:318
std::string _findMetadataEntry(const char *name)
Definition: ABWContentCollector.cpp:525
std::stack< std::shared_ptr< ABWContentParsingState > > m_parsingStates
Definition: ABWContentCollector.h:231
std::string basedon
Definition: ABWContentCollector.h:39
double m_pageMarginLeft
Definition: ABWContentCollector.h:91
bool m_deferredPageBreak
Definition: ABWContentCollector.h:105
ABWContentCollector(const ABWContentCollector &)
bool _convertFieldDTFormat(std::string const &dtFormat, librevenge::RVNGPropertyListVector &propVect)
Definition: ABWContentCollector.cpp:1862
ABWPropertyMap m_currentSectionStyle
Definition: ABWContentCollector.h:83
int m_headerLeftId
Definition: ABWContentCollector.h:98
void insertImage(const char *dataid, const char *props) override
Definition: ABWContentCollector.cpp:2247
Definition: ABWContentCollector.h:65
void _openPageSpan()
Definition: ABWContentCollector.cpp:945
Definition: ABWContentCollector.h:45
ABWOutputElements m_outputElements
Definition: ABWContentCollector.h:241
bool m_isParagraphOpened
Definition: ABWContentCollector.h:79
void insertPageBreak() override
Definition: ABWContentCollector.cpp:922
ABWPropertyMap properties
Definition: ABWContentCollector.h:41
Definition: AbiDocument.cpp:17
void openField(const char *type, const char *id) override
Definition: ABWContentCollector.cpp:1647
int m_currentTableCol
Definition: ABWContentCollector.h:53
@ ABW_FRAME_IMAGE
Definition: ABWContentCollector.h:30
void closeFrame(ABWOutputElements *(&elements), bool &pageFrame) override
Definition: ABWContentCollector.cpp:2207
std::string _findParagraphProperty(const char *name)
Definition: ABWContentCollector.cpp:495
ABWContentTableState()
Definition: ABWContentCollector.cpp:286
@ ABW_NONE
Definition: ABWCollector.h:23
void collectPageSize(const char *width, const char *height, const char *units, const char *pageScale) override
Definition: ABWContentCollector.cpp:769
void openTable(const char *props) override
Definition: ABWContentCollector.cpp:1969
ABWContext m_parsingContext
Definition: ABWContentCollector.h:103
int m_currentListLevel
Definition: ABWContentCollector.h:110
~ABWContentParsingState()
Definition: ABWContentCollector.cpp:420
void openFoot(const char *id) override
Definition: ABWContentCollector.cpp:1583
bool m_isTableCellOpened
Definition: ABWContentCollector.h:59
void addMetadataEntry(const char *name, const char *value) override
Definition: ABWContentCollector.cpp:2372
std::string followedby
Definition: ABWContentCollector.h:40
bool m_isSpanOpened
Definition: ABWContentCollector.h:78
void closeFoot() override
Definition: ABWContentCollector.cpp:1600
void _closeSpan()
Definition: ABWContentCollector.cpp:1422
int m_currentTableCellNumberInRow
Definition: ABWContentCollector.h:55
void _addBorderProperties(const std::map< std::string, std::string > &map, librevenge::RVNGPropertyList &propList, const std::string &defaultUndefBorderProp="")
Definition: ABWContentCollector.cpp:536
double m_pageWidth
Definition: ABWContentCollector.h:87
ABWContentParsingState()
Definition: ABWContentCollector.cpp:322
@ ABW_FRAME_TEXTBOX
Definition: ABWContentCollector.h:31
ABWPropertyMap m_currentCharacterStyle
Definition: ABWContentCollector.h:85
@ ABW_UNORDERED
Definition: ABWCollector.h:36
bool m_isHeaderOpened
Definition: ABWContentCollector.h:73
@ ABW_IN
Definition: ABWCollector.h:25
void _closeTableCell()
Definition: ABWContentCollector.cpp:1568
void _handleListChange()
Definition: ABWContentCollector.cpp:2287
void closeTable() override
Definition: ABWContentCollector.cpp:2007
std::vector< std::shared_ptr< ABWListElement > > m_dummyListElements
Definition: ABWContentCollector.h:244
bool m_isRowWithoutCell
Definition: ABWContentCollector.h:61
void collectHeaderFooter(const char *id, const char *type) override
Definition: ABWContentCollector.cpp:740
std::stack< ABWContentTableState > m_tableStates
Definition: ABWContentCollector.h:114
void insertColumnBreak() override
Definition: ABWContentCollector.cpp:916
void closeSpan() override
Definition: ABWContentCollector.cpp:902
ABWContext
Definition: ABWContentCollector.h:26
void insertText(const char *text) override
Definition: ABWContentCollector.cpp:928
std::stack< std::pair< int, std::shared_ptr< ABWListElement > > > m_listLevels
Definition: ABWContentCollector.h:115
int m_headerId
Definition: ABWContentCollector.h:97
void openFrame(const char *props, const char *imageId, const char *title, const char *alt) override
Definition: ABWContentCollector.cpp:2078
@ ABW_FOOTER
Definition: ABWContentCollector.h:29
bool m_isListElementOpened
Definition: ABWContentCollector.h:80
void collectCharacterProperties(const char *style, const char *props) override
Definition: ABWContentCollector.cpp:607
const std::map< int, std::shared_ptr< ABWListElement > > & m_listElements
Definition: ABWContentCollector.h:243
void closeField() override
Definition: ABWContentCollector.cpp:1965
void _writeOutDummyListLevels(int oldLevel, int newLevel)
Definition: ABWContentCollector.cpp:2315
std::string _findCharacterProperty(const char *name)
Definition: ABWContentCollector.cpp:517
void closeCell() override
Definition: ABWContentCollector.cpp:2069
void _fillParagraphProperties(librevenge::RVNGPropertyList &propList, bool isListElement)
Definition: ABWContentCollector.cpp:1058
void _closeSection()
Definition: ABWContentCollector.cpp:1355
void _closeTableRow()
Definition: ABWContentCollector.cpp:1523
void _openSpan()
Definition: ABWContentCollector.cpp:1261
bool m_deferredColumnBreak
Definition: ABWContentCollector.h:106
void _closeBlock()
close the current paragraph or list element
Definition: ABWContentCollector.cpp:1157
void _setMetadata()
Definition: ABWContentCollector.cpp:829
void addFrameElements(ABWOutputElements &elements, bool pageFrame) override
Definition: ABWContentCollector.cpp:2232
bool m_isTableColumnOpened
Definition: ABWContentCollector.h:58
Definition: ABWContentCollector.h:36
int m_currentListId
Definition: ABWContentCollector.h:111
void _closeParagraph()
Definition: ABWContentCollector.cpp:1410
int m_footerId
Definition: ABWContentCollector.h:93
void _closeTable()
Definition: ABWContentCollector.cpp:1495
double m_pageMarginTop
Definition: ABWContentCollector.h:89
int m_headerLastId
Definition: ABWContentCollector.h:100
void _openTable()
Definition: ABWContentCollector.cpp:1430
double m_pageHeight
Definition: ABWContentCollector.h:88
int m_currentTableRow
Definition: ABWContentCollector.h:54
void _openBlock()
open a paragraph or a list element (depend on m_currentListLevel)
Definition: ABWContentCollector.cpp:1147
void _openFooter()
Definition: ABWContentCollector.cpp:1034
~ABWStyle()
Definition: ABWContentCollector.h:38
void insertLineBreak() override
Definition: ABWContentCollector.cpp:908
void _changeList()
Definition: ABWContentCollector.cpp:2353
int m_footerLastId
Definition: ABWContentCollector.h:96
void _recurseListLevels(int oldLevel, int newLevel, int listId)
Definition: ABWContentCollector.cpp:2329
void endDocument() override
Definition: ABWContentCollector.cpp:801
void collectDocumentProperties(const char *props) override
Definition: ABWContentCollector.cpp:530
ABWStyle()
Definition: ABWContentCollector.h:37
bool m_isFooterOpened
Definition: ABWContentCollector.h:74
int getCellPos(const char *startProp, const char *endProp, int defStart)
Definition: ABWContentCollector.cpp:2035
ABWUnit
Definition: ABWCollector.h:22
void openLink(const char *href) override
Definition: ABWContentCollector.cpp:882
std::map< std::string, std::string > ABWPropertyMap
Definition: ABWCollector.h:39
std::string _findTableProperty(const char *name)
Definition: ABWContentCollector.cpp:500
void collectList(const char *, const char *, const char *, const char *, const char *, const char *) override
Definition: ABWContentCollector.h:154
void _recurseTextProperties(const char *name, ABWPropertyMap &styleProps)
Definition: ABWContentCollector.cpp:459
bool m_isDocumentStarted
Definition: ABWContentCollector.h:70
int m_footerLeftId
Definition: ABWContentCollector.h:94
#define ABW_EPSILON
Definition: ABWContentCollector.cpp:26
#define ABW_NUM_ELEMENTS(array)
Definition: libabw_internal.h:36
bool m_isPageFrame
Definition: ABWContentCollector.h:76
void _openTableCell()
Definition: ABWContentCollector.cpp:1540
void closeLink() override
Definition: ABWContentCollector.cpp:895
void _openSection()
Definition: ABWContentCollector.cpp:985
void startDocument() override
Definition: ABWContentCollector.cpp:786
double m_pageMarginBottom
Definition: ABWContentCollector.h:90
std::string _findCellProperty(const char *name)
Definition: ABWContentCollector.cpp:506
bool findInt(const std::string &str, int &res)
Definition: ABWCollector.cpp:16
void collectData(const char *name, const char *mimeType, const librevenge::RVNGBinaryData &data) override
Definition: ABWContentCollector.cpp:2243
@ ABW_HEADER
Definition: ABWContentCollector.h:28
bool m_isCellWithoutParagraph
Definition: ABWContentCollector.h:60
const std::map< std::string, ABWData > & m_data
Definition: ABWContentCollector.h:238
@ ABW_PERCENT
Definition: ABWCollector.h:30
int m_headerFirstId
Definition: ABWContentCollector.h:99
ABWPropertyMap m_currentCellProperties
Definition: ABWContentCollector.h:51
int m_footerFirstId
Definition: ABWContentCollector.h:95
#define ABW_DEBUG_MSG(M)
Definition: libabw_internal.h:33
@ ABW_SECTION
Definition: ABWContentCollector.h:27
void openCell(const char *props) override
Definition: ABWContentCollector.cpp:2015
void _closePageSpan()
Definition: ABWContentCollector.cpp:972
std::string _findSectionProperty(const char *name)
Definition: ABWContentCollector.cpp:512
std::set< std::string > m_dontLoop
Definition: ABWContentCollector.h:232
int m_currentHeaderFooterId
Definition: ABWContentCollector.h:101
Generated for libwpd by
doxygen 1.8.18