KEY2TableParser.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 libetonyek 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 KEY2TABLEPARSER_H_INCLUDED
11#define KEY2TABLEPARSER_H_INCLUDED
12
13#include "KEY2ParserUtils.h"
14#include "KEYTable.h"
15#include "KEYXMLReader.h"
16
17namespace libetonyek
18{
19
20class KEYCollector;
21class KEY2Parser;
22
24{
25public:
26 explicit KEY2TableParser(KEY2Parser &parser);
27
28 void parse(const KEYXMLReader &reader);
29
30private:
31 void parseTabularModel(const KEYXMLReader &reader);
32 void parseGrid(const KEYXMLReader &reader);
33 void parseColumns(const KEYXMLReader &reader);
34 void parseGridColumn(const KEYXMLReader &reader);
35 void parseRows(const KEYXMLReader &reader);
36 void parseGridRow(const KEYXMLReader &reader);
37
38 void parseDatasource(const KEYXMLReader &reader);
39 void parseD(const KEYXMLReader &reader);
40 void parseDu(const KEYXMLReader &reader);
41 void parseF(const KEYXMLReader &reader);
42 void parseG(const KEYXMLReader &reader);
43 void parseN(const KEYXMLReader &reader);
44 void parseS(const KEYXMLReader &reader);
45 void parseT(const KEYXMLReader &reader);
46 void parseCt(const KEYXMLReader &reader);
47 void parseSo(const KEYXMLReader &reader);
48
50
51 void emitCell(bool covered = false);
52
54
55private:
59
60 unsigned m_column;
61 unsigned m_row;
62
63 boost::optional<unsigned> m_columnSpan;
64 boost::optional<unsigned> m_rowSpan;
65 boost::optional<unsigned> m_cellMove;
66 boost::optional<std::string> m_content;
67};
68
69}
70
71#endif // KEY2TABLEPARSER_H_INCLUDED
72
73/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
A "mixin" containing a set of helper functions used in parser classes.
Definition: KEY2ParserUtils.h:29
Definition: KEY2Parser.h:23
Definition: KEY2TableParser.h:24
void parseG(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:268
boost::optional< unsigned > m_rowSpan
Definition: KEY2TableParser.h:64
unsigned m_column
Definition: KEY2TableParser.h:60
void parseD(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:227
KEY2Parser & m_parser
Definition: KEY2TableParser.h:56
void parseColumns(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:106
void parseCt(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:353
void parseGrid(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:82
KEYTable::ColumnSizes_t m_columnSizes
Definition: KEY2TableParser.h:57
void parseGridRow(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:164
void parseTabularModel(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:64
KEY2TableParser(KEY2Parser &parser)
Definition: KEY2TableParser.cpp:24
KEYCollector * getCollector()
Definition: KEY2TableParser.cpp:463
void parseGridColumn(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:125
void parse(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:37
KEYTable::RowSizes_t m_rowSizes
Definition: KEY2TableParser.h:58
void parseRows(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:145
void parseS(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:303
boost::optional< unsigned > m_columnSpan
Definition: KEY2TableParser.h:63
void emitCell(bool covered=false)
Definition: KEY2TableParser.cpp:422
void parseDatasource(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:185
unsigned m_row
Definition: KEY2TableParser.h:61
boost::optional< unsigned > m_cellMove
Definition: KEY2TableParser.h:65
void parseT(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:325
void parseCommonCellAttribute(const KEYXMLReader::AttributeIterator &attr)
Definition: KEY2TableParser.cpp:406
void parseDu(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:240
void parseN(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:281
boost::optional< std::string > m_content
Definition: KEY2TableParser.h:66
void parseF(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:253
void parseSo(const KEYXMLReader &reader)
Definition: KEY2TableParser.cpp:388
Definition: KEYCollector.h:30
std::deque< double > ColumnSizes_t
Definition: KEYTable.h:36
std::deque< double > RowSizes_t
Definition: KEYTable.h:37
Definition: KEYXMLReader.h:58
Definition: KEYXMLReader.h:21
Definition: EtonyekDocument.cpp:41

Generated for libetonyek by doxygen 1.9.3