FB2TableContext.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 FB2TABLECONTEXT_H_INCLUDED
18 #define FB2TABLECONTEXT_H_INCLUDED
19 
20 #include "FB2ParserContext.h"
21 
22 namespace libebook
23 {
24 
25 class FB2TableModel;
26 
28 {
29  // disable copying
30  FB2TableContext(const FB2TableContext &other);
32 
33 public:
34  FB2TableContext(FB2ParserContext *parentContext, const FB2BlockFormat &format);
35  virtual ~FB2TableContext();
36 
37 private:
38  virtual FB2XMLParserContext *element(const EBOOKToken &name, const EBOOKToken &ns);
39  virtual void startOfElement();
40  virtual void endOfElement();
41  virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value);
42 
43 private:
45 };
46 
48 {
49  // disable copying
50  FB2CellContext(const FB2CellContext &other);
52 
53 public:
54  FB2CellContext(FB2ParserContext *parentContext, FB2TableModel *model, const FB2BlockFormat &format, bool header);
55 
56 private:
57  virtual void startOfElement();
58  virtual void endOfElement();
59  virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value);
60  virtual void endOfAttributes();
61 
62  void openCell();
63 
64 private:
66  const bool m_header;
67  bool m_opened;
69  int m_rowSpan;
71 };
72 
74 {
75  // no copying
76  FB2TrContext(const FB2TrContext &);
78 
79 public:
80  FB2TrContext(FB2ParserContext *parentContext, FB2TableModel *model, const FB2BlockFormat &format);
81 
82 private:
83  virtual FB2XMLParserContext *element(const EBOOKToken &name, const EBOOKToken &ns);
84  virtual void endOfElement();
85  virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value);
86 
87  void openRow(bool header);
88 
89 private:
91  bool m_opened;
92 };
93 
94 }
95 
96 #endif // FB2TABLECONTEXT_H_INCLUDED
97 
98 /* vim:set shiftwidth=2 softtabstop=2 expandtab: */
bool m_opened
Definition: FB2TableContext.h:91
int m_rowSpan
Definition: FB2TableContext.h:69
virtual ~FB2TableContext()
Definition: FB2TableContext.cpp:139
Definition: FB2XMLParserContext.h:25
virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value)
Process an attribute.
Definition: FB2TableContext.cpp:291
FB2TableModel * m_model
Definition: FB2TableContext.h:44
Definition: FB2TableContext.h:73
Definition: FB2TableContext.cpp:28
bool m_opened
Definition: FB2TableContext.h:67
FB2CellContext(const FB2CellContext &other)
virtual FB2XMLParserContext * element(const EBOOKToken &name, const EBOOKToken &ns)
Create a context for parsing a child element.
Definition: FB2TableContext.cpp:261
virtual void endOfElement()
Signalize the end of an element.
Definition: FB2TableContext.cpp:283
void openRow(bool header)
Definition: FB2TableContext.cpp:299
Definition: FB2Token.h:125
FB2TrContext(const FB2TrContext &)
virtual void startOfElement()
Signalize the start of an element.
Definition: FB2TableContext.cpp:160
Definition: EBOOKToken.h:23
size_t m_coveredColumns
Definition: FB2TableContext.h:70
FB2TableContext(const FB2TableContext &other)
virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value)
Process an attribute.
Definition: FB2TableContext.cpp:214
FB2TableContext & operator=(const FB2TableContext &other)
Definition: FB2ParserContext.h:159
Definition: FB2TableContext.h:47
FB2TableModel * m_model
Definition: FB2TableContext.h:90
virtual void endOfElement()
Signalize the end of an element.
Definition: FB2TableContext.cpp:203
Definition: FB2TableContext.h:27
virtual void attribute(const EBOOKToken &name, const EBOOKToken *ns, const char *value)
Process an attribute.
Definition: FB2TableContext.cpp:170
int m_columnSpan
Definition: FB2TableContext.h:68
void openCell()
Definition: FB2TableContext.cpp:246
FB2TableModel *const m_model
Definition: FB2TableContext.h:65
virtual void endOfElement()
Signalize the end of an element.
Definition: FB2TableContext.cpp:165
Definition: FB2ParserContext.h:139
Definition: FB2Style.h:40
FB2TrContext & operator=(const FB2TrContext &)
const bool m_header
Definition: FB2TableContext.h:66
virtual void startOfElement()
Signalize the start of an element.
Definition: FB2TableContext.cpp:199
Base class for all contexts.
Definition: FB2ParserContext.h:30
virtual void endOfAttributes()
Signalize the end of attributes.
Definition: FB2TableContext.cpp:241
const char * name
Definition: FB2Token.cpp:26
virtual FB2XMLParserContext * element(const EBOOKToken &name, const EBOOKToken &ns)
Create a context for parsing a child element.
Definition: FB2TableContext.cpp:144
FB2CellContext & operator=(const FB2CellContext &other)

Generated for libe-book by doxygen 1.8.5