Main Page
Related Pages
Namespaces
Classes
Files
File List
File Members
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
17
namespace
libetonyek
18
{
19
20
class
KEYCollector;
21
class
KEY2Parser;
22
23
class
KEY2TableParser
:
public
KEY2ParserUtils
24
{
25
public
:
26
explicit
KEY2TableParser
(
KEY2Parser
&parser);
27
28
void
parse
(
const
KEYXMLReader
&reader);
29
30
private
:
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
49
void
parseCommonCellAttribute
(
const
KEYXMLReader::AttributeIterator
&attr);
50
51
void
emitCell
(
bool
covered =
false
);
52
53
KEYCollector
*
getCollector
();
54
55
private
:
56
KEY2Parser
&
m_parser
;
57
KEYTable::ColumnSizes_t
m_columnSizes
;
58
KEYTable::RowSizes_t
m_rowSizes
;
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: */
Generated for libetonyek by
doxygen
1.8.3.1