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 
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 collectDocumentProperties(const char *) {}
54  void collectParagraphProperties(const char *level, const char *listid, const char *parentid,
55  const char *style, const char *props);
56  void collectSectionProperties(const char *, const char *, const char *, const char *,
57  const char *, const char *, const char *, const char *,
58  const char *) {}
59  void collectCharacterProperties(const char *, const char *) {}
60  void collectPageSize(const char *, const char *, const char *, const char *) {}
62  void closeSpan() {}
63  void openLink(const char *) {}
64  void closeLink() {}
65  void openFoot(const char *) {}
66  void closeFoot() {}
67  void openEndnote(const char *) {}
68  void closeEndnote() {}
69  void endSection() {}
70  void startDocument() {}
71  void endDocument() {}
72  void insertLineBreak() {}
74  void insertPageBreak() {}
75  void insertText(const char *) {}
76  void insertImage(const char *, const char *) {}
77 
78  void collectData(const char *name, const char *mimeType, const librevenge::RVNGBinaryData &data);
79  void collectHeaderFooter(const char *, const char *) {}
80  void collectList(const char *id, const char *listDecimal, const char *listDelim,
81  const char *parentid, const char *startValue, const char *type);
82 
83  void openTable(const char *props);
84  void closeTable();
85  void openCell(const char *props);
86  void closeCell();
87 
88  void addMetadataEntry(const char *, const char *) {}
89 
90 private:
92  ABWStylesCollector &operator=(const ABWStylesCollector &);
93 
94  std::string _findCellProperty(const char *name);
95  void _processList(int id, const char *listDelim, int parentid, int startValue, int type);
96 
98  std::map<int, int> &m_tableSizes;
99  std::map<std::string, ABWData> &m_data;
101  std::map<int, ABWListElement *> &m_listElements;
102 };
103 
104 } // namespace libabw
105 
106 #endif /* __ABWSTYLESCOLLECTOR_H__ */
107 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
void openLink(const char *)
Definition: ABWStylesCollector.h:63
int m_currentTableWidth
Definition: ABWStylesCollector.h:28
~ABWStylesTableState()
Definition: ABWStylesCollector.cpp:128
int m_currentTableRow
Definition: ABWStylesCollector.h:29
void insertLineBreak()
Definition: ABWStylesCollector.h:72
void insertText(const char *)
Definition: ABWStylesCollector.h:75
Definition: ABWStylesCollector.h:20
Definition: ABWStylesCollector.h:42
void closeLink()
Definition: ABWStylesCollector.h:64
ABWPropertyMap m_currentCellProperties
Definition: ABWStylesCollector.h:26
std::stack< ABWStylesTableState > m_tableStates
Definition: ABWStylesCollector.h:39
std::map< int, int > & m_tableSizes
Definition: ABWStylesCollector.h:98
void collectHeaderFooter(const char *, const char *)
Definition: ABWStylesCollector.h:79
int m_currentTableId
Definition: ABWStylesCollector.h:30
void closeSpan()
Definition: ABWStylesCollector.h:62
Definition: ABWCollector.h:17
void closeFoot()
Definition: ABWStylesCollector.h:66
void endDocument()
Definition: ABWStylesCollector.h:71
void collectTextStyle(const char *, const char *, const char *, const char *)
Definition: ABWStylesCollector.h:52
ABWStylesTableState()
Definition: ABWStylesCollector.cpp:116
void closeParagraphOrListElement()
Definition: ABWStylesCollector.h:61
void collectSectionProperties(const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *, const char *)
Definition: ABWStylesCollector.h:56
int m_tableCounter
Definition: ABWStylesCollector.h:100
void insertImage(const char *, const char *)
Definition: ABWStylesCollector.h:76
void closeEndnote()
Definition: ABWStylesCollector.h:68
void collectDocumentProperties(const char *)
Definition: ABWStylesCollector.h:53
void openEndnote(const char *)
Definition: ABWStylesCollector.h:67
Definition: ABWStylesCollector.h:33
void collectPageSize(const char *, const char *, const char *, const char *)
Definition: ABWStylesCollector.h:60
void addMetadataEntry(const char *, const char *)
Definition: ABWStylesCollector.h:88
void insertColumnBreak()
Definition: ABWStylesCollector.h:73
std::map< int, ABWListElement * > & m_listElements
Definition: ABWStylesCollector.h:101
Definition: ABWCollector.h:103
void openFoot(const char *)
Definition: ABWStylesCollector.h:65
void collectCharacterProperties(const char *, const char *)
Definition: ABWStylesCollector.h:59
std::map< std::string, std::string > ABWPropertyMap
Definition: ABWCollector.h:38
void endSection()
Definition: ABWStylesCollector.h:69
std::map< std::string, ABWData > & m_data
Definition: ABWStylesCollector.h:99
void startDocument()
Definition: ABWStylesCollector.h:70
ABWStylesParsingState * m_ps
Definition: ABWStylesCollector.h:97
void insertPageBreak()
Definition: ABWStylesCollector.h:74

Generated for libwpd by doxygen 1.8.12