summaryrefslogtreecommitdiff
path: root/project2/definedColumns.cpp
blob: 5260e5111901fd0854d896591b0202d52c2e9198 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#include "definedColumns.h"
#include <boost/function.hpp>
#include <libxml++/nodes/textnode.h>

DefinedColumns::DefinedColumns(const xmlpp::Element * p, const Glib::ustring & colPath, const ColCreator & func)
{
	unsigned int colNo = 0;
	BOOST_FOREACH(const xmlpp::Node * node, p->find(colPath)) {
		const xmlpp::Element * elem = dynamic_cast<const xmlpp::Element *>(node);
		if (elem) {
			columns.insert(func(colNo++, elem));
		}
	}
}

ColumnValues::ColumnValues(const DefinedColumns * rs) :
	rowSet(rs)
{
	fields.resize(rs->columns.size());
}

ColumnValues::~ColumnValues()
{
}

const Columns &
ColumnValues::getColumns() const
{
	return rowSet->columns;
}