KEYTable.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 KEYTABLE_H_INCLUDED
11#define KEYTABLE_H_INCLUDED
12
13#include <deque>
14
15#include "KEYObject.h"
16
17namespace libetonyek
18{
19
21{
22 struct Cell
23 {
25 unsigned columnSpan;
26 unsigned rowSpan;
27 bool covered;
28
29 Cell();
30 };
31
32 typedef std::deque<Cell> Row_t;
33 typedef std::deque<Row_t> Table_t;
34
35public:
36 typedef std::deque<double> ColumnSizes_t;
37 typedef std::deque<double> RowSizes_t;
38
39public:
40 KEYTable();
41
42 void setSizes(const ColumnSizes_t &columnSizes, const RowSizes_t &rowSizes);
43 void insertCell(unsigned column, unsigned row, const KEYObjectPtr_t &content = KEYObjectPtr_t(), unsigned columnSpan = 1, unsigned rowSpan = 1);
44 void insertCoveredCell(unsigned column, unsigned row);
45
47
48 void draw(const KEYOutput &output) const;
49
50private:
55};
56
58
59}
60
61#endif // KEYTABLE_H_INCLUDED
62
63/* vim:set shiftwidth=2 softtabstop=2 expandtab: */
A context for drawing instances of KEYObject.
Definition: KEYOutput.h:24
Definition: KEYTable.h:21
void insertCoveredCell(unsigned column, unsigned row)
Definition: KEYTable.cpp:61
KEYGeometryPtr_t m_geometry
Definition: KEYTable.h:54
void draw(const KEYOutput &output) const
Definition: KEYTable.cpp:76
std::deque< double > ColumnSizes_t
Definition: KEYTable.h:36
KEYTable()
Definition: KEYTable.cpp:32
void setSizes(const ColumnSizes_t &columnSizes, const RowSizes_t &rowSizes)
Definition: KEYTable.cpp:40
void setGeometry(const KEYGeometryPtr_t &geometry)
Definition: KEYTable.cpp:71
std::deque< Row_t > Table_t
Definition: KEYTable.h:33
Table_t m_table
Definition: KEYTable.h:51
std::deque< Cell > Row_t
Definition: KEYTable.h:32
RowSizes_t m_rowSizes
Definition: KEYTable.h:53
void insertCell(unsigned column, unsigned row, const KEYObjectPtr_t &content=KEYObjectPtr_t(), unsigned columnSpan=1, unsigned rowSpan=1)
Definition: KEYTable.cpp:49
std::deque< double > RowSizes_t
Definition: KEYTable.h:37
ColumnSizes_t m_columnSizes
Definition: KEYTable.h:52
@ content
Definition: KEY1Token.h:39
@ geometry
Definition: KEY2Token.h:213
@ row
Definition: KEY2Token.h:1069
@ column
Definition: KEY2Token.h:140
Definition: EtonyekDocument.cpp:41
boost::shared_ptr< KEYGeometry > KEYGeometryPtr_t
Definition: KEYTypes_fwd.h:25
KEYObjectPtr_t makeObject(const KEYShapePtr_t &shape)
Object creator function for shape.
Definition: KEYShape.cpp:88
boost::shared_ptr< KEYObject > KEYObjectPtr_t
Definition: KEYObject.h:44
Definition: KEYTable.h:23
KEYObjectPtr_t content
Definition: KEYTable.h:24
bool covered
Definition: KEYTable.h:27
unsigned columnSpan
Definition: KEYTable.h:25
Cell()
Definition: KEYTable.cpp:24
unsigned rowSpan
Definition: KEYTable.h:26

Generated for libetonyek by doxygen 1.9.3