ABWCollector.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 __ABWCOLLECTOR_H__
11 #define __ABWCOLLECTOR_H__
12 
13 #include <string>
14 #include <map>
15 #include <libwpd/libwpd.h>
16 
17 namespace libabw
18 {
19 
20 enum ABWUnit
21 {
30 };
31 
33 {
36 };
37 
38 bool findInt(const std::string &str, int &res);
39 bool findDouble(const std::string &str, double &res, ABWUnit &unit);
40 void parsePropString(const std::string &str, std::map<std::string, std::string> &props);
41 
42 struct ABWData
43 {
45  : m_mimeType(), m_binaryData() {}
46  ABWData(const ABWData &data)
48  ABWData(const WPXString &mimeType, const WPXBinaryData binaryData)
49  : m_mimeType(mimeType), m_binaryData(binaryData) {}
50  ~ABWData() {}
51 
52  WPXString m_mimeType;
53  WPXBinaryData m_binaryData;
54 };
55 
57 {
59  : m_listLevel(-1), m_minLabelWidth(0.0), m_spaceBefore(0.0), m_parentId() {}
60  virtual ~ABWListElement() {}
61  virtual void writeOut(WPXPropertyList &propList) const;
62  virtual ABWListType getType() const = 0;
63 
66  double m_spaceBefore;
68 };
69 
71 {
75  void writeOut(WPXPropertyList &propList) const;
77  {
78  return ABW_ORDERED;
79  }
80 
81  WPXString m_numFormat;
82  WPXString m_numPrefix;
83  WPXString m_numSuffix;
85 };
86 
88 {
92  void writeOut(WPXPropertyList &propList) const;
94  {
95  return ABW_UNORDERED;
96  }
97 
98  WPXString m_bulletChar;
99 };
100 
102 {
103 public:
105  virtual ~ABWCollector() {}
106 
107  // collector functions
108 
109  virtual void collectTextStyle(const char *name, const char *basedon, const char *followedby, const char *props) = 0;
110  virtual void collectParagraphProperties(const char *level, const char *listid, const char *parentid,
111  const char *style, const char *props) = 0;
112  virtual void collectSectionProperties(const char *footer, const char *footerLeft, const char *footerFirst,
113  const char *footerLast, const char *header, const char *headerLeft,
114  const char *headerFirst, const char *headerLast, const char *props) = 0;
115  virtual void collectCharacterProperties(const char *style, const char *props) = 0;
116  virtual void collectPageSize(const char *width, const char *height, const char *units, const char *pageScale) = 0;
117  virtual void closeParagraphOrListElement() = 0;
118  virtual void closeSpan() = 0;
119  virtual void openLink(const char *href) = 0;
120  virtual void closeLink() = 0;
121  virtual void openFoot(const char *id) = 0;
122  virtual void closeFoot() = 0;
123  virtual void openEndnote(const char *id) = 0;
124  virtual void closeEndnote() = 0;
125  virtual void endSection() = 0;
126  virtual void startDocument() = 0;
127  virtual void endDocument() = 0;
128  virtual void insertLineBreak() = 0;
129  virtual void insertColumnBreak() = 0;
130  virtual void insertPageBreak() = 0;
131  virtual void insertText(const char *text) = 0;
132  virtual void insertImage(const char *dataid, const char *props) = 0;
133  virtual void collectList(const char *id, const char *listDecimal, const char *listDelim,
134  const char *parentid, const char *startValue, const char *type) = 0;
135 
136  virtual void collectData(const char *name, const char *mimeType, const WPXBinaryData &data) = 0;
137  virtual void collectHeaderFooter(const char *id, const char *type) = 0;
138 
139  virtual void openTable(const char *props) = 0;
140  virtual void closeTable() = 0;
141  virtual void openCell(const char *props) = 0;
142  virtual void closeCell() = 0;
143 };
144 
145 } // namespace libabw
146 
147 #endif /* __ABWCOLLECTOR_H__ */
148 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
double m_spaceBefore
Definition: ABWCollector.h:66
ABWCollector()
Definition: ABWCollector.h:104
void writeOut(WPXPropertyList &propList) const
Definition: ABWCollector.cpp:135
Definition: ABWCollector.h:28
Definition: ABWCollector.h:87
virtual void closeTable()=0
ABWUnorderedListElement()
Definition: ABWCollector.h:89
virtual ~ABWCollector()
Definition: ABWCollector.h:105
virtual void endDocument()=0
Definition: ABWCollector.h:23
virtual void insertText(const char *text)=0
int m_parentId
Definition: ABWCollector.h:67
virtual void collectTextStyle(const char *name, const char *basedon, const char *followedby, const char *props)=0
virtual void closeParagraphOrListElement()=0
~ABWOrderedListElement()
Definition: ABWCollector.h:74
virtual ~ABWListElement()
Definition: ABWCollector.h:60
WPXString m_bulletChar
Definition: ABWCollector.h:98
virtual void closeSpan()=0
void parsePropString(const std::string &str, std::map< std::string, std::string > &props)
Definition: ABWCollector.cpp:30
virtual void collectCharacterProperties(const char *style, const char *props)=0
WPXString m_numFormat
Definition: ABWCollector.h:81
virtual void collectData(const char *name, const char *mimeType, const WPXBinaryData &data)=0
ABWOrderedListElement()
Definition: ABWCollector.h:72
Definition: ABWCollector.h:56
virtual void insertLineBreak()=0
~ABWUnorderedListElement()
Definition: ABWCollector.h:91
Definition: ABWCollector.h:34
void writeOut(WPXPropertyList &propList) const
Definition: ABWCollector.cpp:123
int m_listLevel
Definition: ABWCollector.h:64
virtual void insertColumnBreak()=0
int m_startValue
Definition: ABWCollector.h:84
ABWListType getType() const
Definition: ABWCollector.h:93
ABWListType getType() const
Definition: ABWCollector.h:76
virtual void collectList(const char *id, const char *listDecimal, const char *listDelim, const char *parentid, const char *startValue, const char *type)=0
virtual void openTable(const char *props)=0
WPXString m_numPrefix
Definition: ABWCollector.h:82
virtual ABWListType getType() const =0
Definition: ABWCollector.h:26
ABWListElement()
Definition: ABWCollector.h:58
WPXString m_numSuffix
Definition: ABWCollector.h:83
WPXString m_mimeType
Definition: ABWCollector.h:52
ABWListType
Definition: ABWCollector.h:32
ABWData()
Definition: ABWCollector.h:44
virtual void closeLink()=0
Definition: ABWCollector.h:101
double m_minLabelWidth
Definition: ABWCollector.h:65
ABWData(const WPXString &mimeType, const WPXBinaryData binaryData)
Definition: ABWCollector.h:48
virtual void startDocument()=0
Definition: ABWCollector.h:70
bool findInt(const std::string &str, int &res)
Definition: ABWCollector.cpp:14
virtual void openEndnote(const char *id)=0
ABWData(const ABWData &data)
Definition: ABWCollector.h:46
Definition: ABWCollector.h:25
virtual void closeEndnote()=0
Definition: ABWCollector.h:27
virtual void openLink(const char *href)=0
~ABWData()
Definition: ABWCollector.h:50
Definition: ABWCollector.h:42
virtual void closeCell()=0
virtual void writeOut(WPXPropertyList &propList) const
Definition: ABWCollector.cpp:115
virtual void collectPageSize(const char *width, const char *height, const char *units, const char *pageScale)=0
WPXBinaryData m_binaryData
Definition: ABWCollector.h:53
virtual void closeFoot()=0
virtual void openFoot(const char *id)=0
virtual void collectHeaderFooter(const char *id, const char *type)=0
virtual void insertPageBreak()=0
Definition: ABWCollector.h:29
Definition: ABWCollector.h:24
virtual void endSection()=0
virtual void openCell(const char *props)=0
Definition: ABWCollector.h:35
virtual 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)=0
bool findDouble(const std::string &str, double &res, ABWUnit &unit)
Definition: ABWCollector.cpp:48
virtual void collectParagraphProperties(const char *level, const char *listid, const char *parentid, const char *style, const char *props)=0
Definition: ABWCollector.h:22
ABWUnit
Definition: ABWCollector.h:20
virtual void insertImage(const char *dataid, const char *props)=0

Generated for libwpd by doxygen 1.8.5