FictionBook2TableContext.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 libe-book 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 FICTIONBOOK2TABLECONTEXT_H_INCLUDED
11#define FICTIONBOOK2TABLECONTEXT_H_INCLUDED
12
13#include <memory>
14
16
17namespace libebook
18{
19
20class FictionBook2TableModel;
21
23{
24 // disable copying
27
28public:
31
32private:
34 void startOfElement() override;
35 void endOfElement() override;
36 void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
37
38private:
39 std::shared_ptr<FictionBook2TableModel> m_model;
40};
41
43{
44 // disable copying
47
48public:
49 FictionBook2CellContext(FictionBook2ParserContext *parentContext, const std::shared_ptr<FictionBook2TableModel> &model, const FictionBook2BlockFormat &format, bool header);
50
51private:
52 void startOfElement() override;
53 void endOfElement() override;
54 void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
55 void endOfAttributes() override;
56
57 void openCell();
58
59private:
60 const std::shared_ptr<FictionBook2TableModel> m_model;
61 const bool m_header;
66};
67
69{
70 // no copying
73
74public:
75 FictionBook2TrContext(FictionBook2ParserContext *parentContext, const std::shared_ptr<FictionBook2TableModel> &model, const FictionBook2BlockFormat &format);
76
77private:
79 void endOfElement() override;
80 void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override;
81
82 void openRow(bool header);
83
84private:
85 const std::shared_ptr<FictionBook2TableModel> m_model;
87};
88
89}
90
91#endif // FICTIONBOOK2TABLECONTEXT_H_INCLUDED
92
93/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
string name
Definition HTMLHelpStream.cpp:80
qi::rule< Iterator, AttrValue_t, qi::space_type > value
Definition TealDocParser.cpp:231
Definition FictionBook2ParserContext.h:152
Definition FictionBook2TableContext.h:43
bool m_opened
Definition FictionBook2TableContext.h:62
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2TableContext.cpp:195
FictionBook2CellContext(const FictionBook2CellContext &other)
FictionBook2CellContext & operator=(const FictionBook2CellContext &other)
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2TableContext.cpp:206
int m_columnSpan
Definition FictionBook2TableContext.h:63
size_t m_coveredColumns
Definition FictionBook2TableContext.h:65
const bool m_header
Definition FictionBook2TableContext.h:61
const std::shared_ptr< FictionBook2TableModel > m_model
Definition FictionBook2TableContext.h:60
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TableContext.cpp:191
void openCell()
Definition FictionBook2TableContext.cpp:238
void endOfAttributes() override
Signalize the end of attributes.
Definition FictionBook2TableContext.cpp:233
int m_rowSpan
Definition FictionBook2TableContext.h:64
Base class for all contexts.
Definition FictionBook2ParserContext.h:24
Definition FictionBook2ParserContext.h:133
Definition FictionBook2TableContext.h:23
std::shared_ptr< FictionBook2TableModel > m_model
Definition FictionBook2TableContext.h:39
void startOfElement() override
Signalize the start of an element.
Definition FictionBook2TableContext.cpp:152
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2TableContext.cpp:162
~FictionBook2TableContext() override
Definition FictionBook2TableContext.cpp:132
FictionBook2TableContext(const FictionBook2TableContext &other)
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2TableContext.cpp:157
FictionBook2TableContext & operator=(const FictionBook2TableContext &other)
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition FictionBook2TableContext.cpp:136
Definition FictionBook2TableContext.h:69
bool m_opened
Definition FictionBook2TableContext.h:86
FictionBook2XMLParserContext * element(const FictionBook2TokenData &name, const FictionBook2TokenData &ns) override
Create a context for parsing a child element.
Definition FictionBook2TableContext.cpp:253
const std::shared_ptr< FictionBook2TableModel > m_model
Definition FictionBook2TableContext.h:85
FictionBook2TrContext(const FictionBook2TrContext &)
void endOfElement() override
Signalize the end of an element.
Definition FictionBook2TableContext.cpp:275
void attribute(const FictionBook2TokenData &name, const FictionBook2TokenData *ns, const char *value) override
Process an attribute.
Definition FictionBook2TableContext.cpp:283
FictionBook2TrContext & operator=(const FictionBook2TrContext &)
void openRow(bool header)
Definition FictionBook2TableContext.cpp:291
Definition FictionBook2XMLParserContext.h:19
Definition BBeBCollector.cpp:19
Definition FictionBook2Style.h:36
Definition FictionBook2Token.h:134

Generated for libe-book by doxygen 1.9.7