FB2ExtrasCollector.h
Go to the documentation of this file.
1 /* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2 /* libe-book
3  * Version: MPL 2.0 / LGPLv2.1+
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  * Alternatively, the contents of this file may be used under the terms
10  * of the GNU Lesser General Public License Version 2.1 or later
11  * (LGPLv2.1+), in which case the provisions of the LGPLv2.1+ are
12  * applicable instead of those above.
13  *
14  * For further information visit http://libebook.sourceforge.net
15  */
16 
17 #ifndef FB2EXTRASCOLLECTOR_H_INCLUDED
18 #define FB2EXTRASCOLLECTOR_H_INCLUDED
19 
20 #include "FB2Collector.h"
21 
22 namespace libebook
23 {
24 
25 class FB2Content;
26 class FB2ContentMap;
27 class FB2Style;
28 
29 class GroupContent;
30 
32 {
33  // no copying
36 
37 public:
39  virtual ~FB2ExtrasCollector();
40 
41 private:
42  virtual void defineMetadataEntry(const char *name, const char *value);
43  virtual void openMetadataEntry(const char *name);
44  virtual void closeMetadataEntry();
45 
46  virtual void defineID(const char *);
47 
48  virtual void openPageSpan();
49  virtual void closePageSpan();
50 
51  virtual void openBlock();
52  virtual void closeBlock();
53 
54  virtual void openParagraph(const FB2BlockFormat &format);
55  virtual void closeParagraph();
56 
57  virtual void openSpan(const FB2Style &style);
58  virtual void closeSpan();
59 
60  virtual void insertText(const char *text);
61 
62  virtual void openTable(const FB2BlockFormat &format);
63  virtual void closeTable();
64 
65  virtual void openTableRow(const FB2BlockFormat &format);
66  virtual void closeTableRow();
67 
68  virtual void openTableCell(int rowspan, int colspan);
69  virtual void closeTableCell();
70  virtual void insertCoveredTableCell();
71 
72  virtual void insertFootnote(const char *id);
73 
74  virtual void insertBitmap(const char *id);
75  virtual void insertBitmapData(const char *contentType, const char *base64Data);
76 
77  void flushCurrentNote();
78  bool isInNote() const;
79 
80 private:
83  std::string m_currentID;
87 };
88 
89 }
90 
91 #endif // FB2EXTRASCOLLECTOR_H_INCLUDED
92 
93 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
optional< Style > style
Definition: TDParser.cpp:114
virtual void openParagraph(const FB2BlockFormat &format)
Definition: FB2ExtrasCollector.cpp:210
virtual void openTable(const FB2BlockFormat &format)
Definition: FB2ExtrasCollector.cpp:252
virtual void closeTableCell()
Definition: FB2ExtrasCollector.cpp:281
void flushCurrentNote()
Definition: FB2ExtrasCollector.cpp:305
Definition: FB2Collector.h:26
bool isInNote() const
Definition: FB2ExtrasCollector.cpp:320
virtual void closePageSpan()
Definition: FB2ExtrasCollector.cpp:196
virtual void closeSpan()
Definition: FB2ExtrasCollector.cpp:234
Definition: FB2Style.h:58
virtual void openBlock()
Definition: FB2ExtrasCollector.cpp:200
virtual void insertFootnote(const char *id)
Definition: FB2ExtrasCollector.cpp:291
virtual void defineMetadataEntry(const char *name, const char *value)
Definition: FB2ExtrasCollector.cpp:172
virtual void closeTable()
Definition: FB2ExtrasCollector.cpp:258
virtual void insertBitmapData(const char *contentType, const char *base64Data)
Definition: FB2ExtrasCollector.cpp:299
std::string m_currentID
Definition: FB2ExtrasCollector.h:83
FB2ContentMap & m_bitmaps
Definition: FB2ExtrasCollector.h:82
Definition: FB2ContentMap.h:28
Definition: FB2ExtrasCollector.cpp:33
Definition: FB2Token.h:125
const FB2Style * m_currentStyle
Definition: FB2ExtrasCollector.h:86
FB2ContentMap & m_notes
Definition: FB2ExtrasCollector.h:81
Definition: FB2Token.h:110
virtual void closeMetadataEntry()
Definition: FB2ExtrasCollector.cpp:180
virtual void openSpan(const FB2Style &style)
Definition: FB2ExtrasCollector.cpp:225
virtual void openTableRow(const FB2BlockFormat &format)
Definition: FB2ExtrasCollector.cpp:263
Definition: FB2Token.h:123
virtual void closeBlock()
Definition: FB2ExtrasCollector.cpp:205
virtual void closeParagraph()
Definition: FB2ExtrasCollector.cpp:216
virtual void insertText(const char *text)
Definition: FB2ExtrasCollector.cpp:243
virtual void openMetadataEntry(const char *name)
Definition: FB2ExtrasCollector.cpp:176
FB2ExtrasCollector(const FB2ExtrasCollector &other)
virtual void openPageSpan()
Definition: FB2ExtrasCollector.cpp:192
virtual void openTableCell(int rowspan, int colspan)
Definition: FB2ExtrasCollector.cpp:274
virtual void insertBitmap(const char *id)
Definition: FB2ExtrasCollector.cpp:295
Definition: FB2Style.h:40
GroupContent * m_currentNote
Definition: FB2ExtrasCollector.h:84
virtual ~FB2ExtrasCollector()
Definition: FB2ExtrasCollector.cpp:167
GroupContent * m_currentPara
Definition: FB2ExtrasCollector.h:85
virtual void defineID(const char *)
Definition: FB2ExtrasCollector.cpp:184
const char * name
Definition: FB2Token.cpp:26
Definition: FB2ExtrasCollector.h:31
FB2ExtrasCollector & operator=(const FB2ExtrasCollector &other)
virtual void insertCoveredTableCell()
Definition: FB2ExtrasCollector.cpp:286
virtual void closeTableRow()
Definition: FB2ExtrasCollector.cpp:269

Generated for libe-book by doxygen 1.8.5