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 <stack>
14 #include <librevenge/librevenge.h>
15 #include "ABWCollector.h"
16 
17 namespace libabw
18 {
19 
21 {
25 
26  std::map<std::string, std::string> m_currentCellProperties;
27 
31 };
32 
34 {
38 
39  std::stack<ABWStylesTableState> m_tableStates;
40 };
41 
43 {
44 public:
45  ABWStylesCollector(std::map<int, int> &tableSizes,
46  std::map<std::string, ABWData> &data,
47  std::map<int, ABWListElement *> &listElements);
48  virtual ~ABWStylesCollector();
49 
50  // collector functions
51 
52  void collectTextStyle(const char *, const char *, const char *, const char *) {}
53  void collectParagraphProperties(const char *level, const char *listid, const char *parentid,
54  const char *style, const char *props);
55  void collectSectionProperties(const char *, const char *, const char *, const char *,
56  const char *, const char *, const char *, const char *,
57  const char *) {}
58  void collectCharacterProperties(const char *, const char *) {}
59  void collectPageSize(const char *, const char *, const char *, const char *) {}
61  void closeSpan() {}
62  void openLink(const char *) {}
63  void closeLink() {}
64  void openFoot(const char *) {}
65  void closeFoot() {}
66  void openEndnote(const char *) {}
67  void closeEndnote() {}
68  void endSection() {}
69  void startDocument() {}
70  void endDocument() {}
71  void insertLineBreak() {}
73  void insertPageBreak() {}
74  void insertText(const char *) {}
75  void insertImage(const char *, const char *) {}
76 
77  void collectData(const char *name, const char *mimeType, const librevenge::RVNGBinaryData &data);
78  void collectHeaderFooter(const char *, const char *) {}
79  void collectList(const char *id, const char *listDecimal, const char *listDelim,
80  const char *parentid, const char *startValue, const char *type);
81 
82  void openTable(const char *props);
83  void closeTable();
84  void openCell(const char *props);
85  void closeCell();
86 
87 private:
90 
91  std::string _findCellProperty(const char *name);
92  void _processList(int id, const char *listDelim, int parentid, int startValue, int type);
93 
95  std::map<int, int> &m_tableSizes;
96  std::map<std::string, ABWData> &m_data;
98  std::map<int, ABWListElement *> &m_listElements;
99 };
100 
101 } // namespace libabw
102 
103 #endif /* __ABWSTYLESCOLLECTOR_H__ */
104 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void openLink(const char *)
Definition: ABWStylesCollector.h:62
int m_currentTableWidth
Definition: ABWStylesCollector.h:28
~ABWStylesTableState()
Definition: ABWStylesCollector.cpp:128
int m_currentTableRow
Definition: ABWStylesCollector.h:29
void insertLineBreak()
Definition: ABWStylesCollector.h:71
void insertText(const char *)
Definition: ABWStylesCollector.h:74
ABWStylesCollector & operator=(const ABWStylesCollector &)
~ABWStylesParsingState()
Definition: ABWStylesCollector.cpp:136
Definition: ABWStylesCollector.h:20
Definition: ABWStylesCollector.h:42
void closeLink()
Definition: ABWStylesCollector.h:63
void openTable(const char *props)
Definition: ABWStylesCollector.cpp:152
std::stack< ABWStylesTableState > m_tableStates
Definition: ABWStylesCollector.h:39
std::map< int, int > & m_tableSizes
Definition: ABWStylesCollector.h:95
void collectHeaderFooter(const char *, const char *)
Definition: ABWStylesCollector.h:78
int m_currentTableId
Definition: ABWStylesCollector.h:30
void collectData(const char *name, const char *mimeType, const librevenge::RVNGBinaryData &data)
Definition: ABWStylesCollector.cpp:206
void closeSpan()
Definition: ABWStylesCollector.h:61
Definition: ABWCollector.h:17
void closeFoot()
Definition: ABWStylesCollector.h:65
void endDocument()
Definition: ABWStylesCollector.h:70
void collectTextStyle(const char *, const char *, const char *, const char *)
Definition: ABWStylesCollector.h:52
virtual ~ABWStylesCollector()
Definition: ABWStylesCollector.cpp:147
ABWStylesTableState()
Definition: ABWStylesCollector.cpp:116
ABWStylesCollector(std::map< int, int > &tableSizes, std::map< std::string, ABWData > &data, std::map< int, ABWListElement * > &listElements)
Definition: ABWStylesCollector.cpp:138
void closeParagraphOrListElement()
Definition: ABWStylesCollector.h:60
void collectSectionProperties(const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *)
Definition: ABWStylesCollector.h:55
int m_tableCounter
Definition: ABWStylesCollector.h:97
void insertImage(const char *, const char *)
Definition: ABWStylesCollector.h:75
void closeEndnote()
Definition: ABWStylesCollector.h:67
void collectParagraphProperties(const char *level, const char *listid, const char *parentid, const char *style, const char *props)
Definition: ABWStylesCollector.cpp:337
void openEndnote(const char *)
Definition: ABWStylesCollector.h:66
Definition: ABWStylesCollector.h:33
ABWStylesParsingState()
Definition: ABWStylesCollector.cpp:130
void collectPageSize(const char *, const char *, const char *, const char *)
Definition: ABWStylesCollector.h:59
void insertColumnBreak()
Definition: ABWStylesCollector.h:72
std::map< int, ABWListElement * > & m_listElements
Definition: ABWStylesCollector.h:98
std::string _findCellProperty(const char *name)
Definition: ABWStylesCollector.cpp:198
Definition: ABWCollector.h:101
void openFoot(const char *)
Definition: ABWStylesCollector.h:64
void collectList(const char *id, const char *listDecimal, const char *listDelim, const char *parentid, const char *startValue, const char *type)
Definition: ABWStylesCollector.cpp:315
void _processList(int id, const char *listDelim, int parentid, int startValue, int type)
Definition: ABWStylesCollector.cpp:213
void collectCharacterProperties(const char *, const char *)
Definition: ABWStylesCollector.h:58
void closeTable()
Definition: ABWStylesCollector.cpp:160
void endSection()
Definition: ABWStylesCollector.h:68
void openCell(const char *props)
Definition: ABWStylesCollector.cpp:168
std::map< std::string, ABWData > & m_data
Definition: ABWStylesCollector.h:96
void startDocument()
Definition: ABWStylesCollector.h:69
std::map< std::string, std::string > m_currentCellProperties
Definition: ABWStylesCollector.h:26
ABWStylesParsingState * m_ps
Definition: ABWStylesCollector.h:94
void closeCell()
Definition: ABWStylesCollector.cpp:192
void insertPageBreak()
Definition: ABWStylesCollector.h:73

Generated for libwpd by doxygen 1.8.8