ABWStylesCollector.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 __ABWSTYLESCOLLECTOR_H__
11#define __ABWSTYLESCOLLECTOR_H__
12
13#include <memory>
14#include <stack>
15#include <librevenge/librevenge.h>
16#include "ABWCollector.h"
17
18namespace libabw
19{
20
33
35{
39
40 std::stack<ABWStylesTableState> m_tableStates;
41};
42
44{
45public:
46 ABWStylesCollector(std::map<int, int> &tableSizes,
47 std::map<std::string, ABWData> &data,
48 std::map<int, std::shared_ptr<ABWListElement>> &listElements);
49 ~ABWStylesCollector() override;
50
51 // collector functions
52
53 void collectTextStyle(const char *, const char *, const char *, const char *) override {}
54 void collectDocumentProperties(const char *) override {}
55 void collectParagraphProperties(const char *level, const char *listid, const char *parentid,
56 const char *style, const char *props) override;
57 void collectSectionProperties(const char *, const char *, const char *, const char *,
58 const char *, const char *, const char *, const char *,
59 const char *) override {}
60 void collectCharacterProperties(const char *, const char *) override {}
61 void collectPageSize(const char *, const char *, const char *, const char *) override {}
62 void closeParagraphOrListElement() override {}
63 void closeSpan() override {}
64 void openLink(const char *) override {}
65 void closeLink() override {}
66 void openFoot(const char *) override {}
67 void closeFoot() override {}
68 void openEndnote(const char *) override {}
69 void closeEndnote() override {}
70 void openField(const char *, const char *) override {}
71 void closeField() override {}
72 void endSection() override {}
73 void startDocument() override {}
74 void endDocument() override {}
75 void insertLineBreak() override {}
76 void insertColumnBreak() override {}
77 void insertPageBreak() override {}
78 void insertText(const char *) override {}
79 void insertImage(const char *, const char *) override {}
80
81 void collectData(const char *name, const char *mimeType, const librevenge::RVNGBinaryData &data) override;
82 void collectHeaderFooter(const char *, const char *) override {}
83 void collectList(const char *id, const char *listDecimal, const char *listDelim,
84 const char *parentid, const char *startValue, const char *type) override;
85
86 void openTable(const char *props) override;
87 void closeTable() override;
88 void openCell(const char *props) override;
89 void closeCell() override;
90
91 void openFrame(const char *, const char *, const char *, const char *) override {}
92 void closeFrame(ABWOutputElements *(&elements), bool &) override
93 {
94 elements=nullptr;
95 }
96 void addFrameElements(ABWOutputElements &, bool) override {}
97
98 void addMetadataEntry(const char *, const char *) override {}
99
100private:
103
104 std::string _findCellProperty(const char *name);
105 void _processList(int id, const char *listDelim, int parentid, int startValue, int type);
106
107 std::unique_ptr<ABWStylesParsingState> m_ps;
108 std::map<int, int> &m_tableSizes;
109 std::map<std::string, ABWData> &m_data;
111 std::map<int, std::shared_ptr<ABWListElement>> &m_listElements;
112};
113
114} // namespace libabw
115
116#endif /* __ABWSTYLESCOLLECTOR_H__ */
117/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
Definition ABWCollector.h:108
Definition ABWOutputElements.h:25
Definition ABWStylesCollector.h:44
void closeEndnote() override
Definition ABWStylesCollector.h:69
~ABWStylesCollector() override
Definition ABWStylesCollector.cpp:147
void closeFoot() override
Definition ABWStylesCollector.h:67
std::map< int, int > & m_tableSizes
Definition ABWStylesCollector.h:108
void openEndnote(const char *) override
Definition ABWStylesCollector.h:68
void endDocument() override
Definition ABWStylesCollector.h:74
void collectData(const char *name, const char *mimeType, const librevenge::RVNGBinaryData &data) override
Definition ABWStylesCollector.cpp:216
void openFrame(const char *, const char *, const char *, const char *) override
Definition ABWStylesCollector.h:91
void collectParagraphProperties(const char *level, const char *listid, const char *parentid, const char *style, const char *props) override
Definition ABWStylesCollector.cpp:347
void closeLink() override
Definition ABWStylesCollector.h:65
void openTable(const char *props) override
Definition ABWStylesCollector.cpp:151
void openCell(const char *props) override
Definition ABWStylesCollector.cpp:169
void closeParagraphOrListElement() override
Definition ABWStylesCollector.h:62
void insertLineBreak() override
Definition ABWStylesCollector.h:75
void startDocument() override
Definition ABWStylesCollector.h:73
void closeCell() override
Definition ABWStylesCollector.cpp:202
ABWStylesCollector & operator=(const ABWStylesCollector &)
void collectHeaderFooter(const char *, const char *) override
Definition ABWStylesCollector.h:82
void addMetadataEntry(const char *, const char *) override
Definition ABWStylesCollector.h:98
void collectSectionProperties(const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *) override
Definition ABWStylesCollector.h:57
void collectList(const char *id, const char *listDecimal, const char *listDelim, const char *parentid, const char *startValue, const char *type) override
Definition ABWStylesCollector.cpp:325
void insertPageBreak() override
Definition ABWStylesCollector.h:77
void closeTable() override
Definition ABWStylesCollector.cpp:159
void insertImage(const char *, const char *) override
Definition ABWStylesCollector.h:79
std::string _findCellProperty(const char *name)
Definition ABWStylesCollector.cpp:208
std::map< int, std::shared_ptr< ABWListElement > > & m_listElements
Definition ABWStylesCollector.h:111
std::map< std::string, ABWData > & m_data
Definition ABWStylesCollector.h:109
std::unique_ptr< ABWStylesParsingState > m_ps
Definition ABWStylesCollector.h:107
void openField(const char *, const char *) override
Definition ABWStylesCollector.h:70
void collectPageSize(const char *, const char *, const char *, const char *) override
Definition ABWStylesCollector.h:61
ABWStylesCollector(std::map< int, int > &tableSizes, std::map< std::string, ABWData > &data, std::map< int, std::shared_ptr< ABWListElement > > &listElements)
Definition ABWStylesCollector.cpp:138
void collectTextStyle(const char *, const char *, const char *, const char *) override
Definition ABWStylesCollector.h:53
void closeField() override
Definition ABWStylesCollector.h:71
void closeFrame(ABWOutputElements *(&elements), bool &) override
Definition ABWStylesCollector.h:92
void openLink(const char *) override
Definition ABWStylesCollector.h:64
void _processList(int id, const char *listDelim, int parentid, int startValue, int type)
Definition ABWStylesCollector.cpp:223
void collectCharacterProperties(const char *, const char *) override
Definition ABWStylesCollector.h:60
void openFoot(const char *) override
Definition ABWStylesCollector.h:66
void insertColumnBreak() override
Definition ABWStylesCollector.h:76
void addFrameElements(ABWOutputElements &, bool) override
Definition ABWStylesCollector.h:96
void closeSpan() override
Definition ABWStylesCollector.h:63
void endSection() override
Definition ABWStylesCollector.h:72
ABWStylesCollector(const ABWStylesCollector &)
int m_tableCounter
Definition ABWStylesCollector.h:110
void insertText(const char *) override
Definition ABWStylesCollector.h:78
void collectDocumentProperties(const char *) override
Definition ABWStylesCollector.h:54
Definition AbiDocument.cpp:17
std::map< std::string, std::string > ABWPropertyMap
Definition ABWCollector.h:39
Definition ABWStylesCollector.h:35
ABWStylesParsingState()
Definition ABWStylesCollector.cpp:130
~ABWStylesParsingState()
Definition ABWStylesCollector.cpp:136
std::stack< ABWStylesTableState > m_tableStates
Definition ABWStylesCollector.h:40
Definition ABWStylesCollector.h:22
int m_currentTableRow
Definition ABWStylesCollector.h:30
ABWStylesTableState()
Definition ABWStylesCollector.cpp:116
int m_currentTableId
Definition ABWStylesCollector.h:31
ABWPropertyMap m_currentCellProperties
Definition ABWStylesCollector.h:27
int m_currentTableWidth
Definition ABWStylesCollector.h:29
~ABWStylesTableState()
Definition ABWStylesCollector.cpp:128

Generated for libwpd by doxygen 1.12.0