Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
attributetable.h
1 #ifndef ATTRIBUTETABLE_H
2 #define ATTRIBUTETABLE_H
3 
4 namespace Ilwis {
5 class KERNELSHARED_EXPORT AttributeTable : public Table
6 {
7 public:
9 
10  quint32 rows() const;
11  quint32 columns() const;
12  QVariantList record(quint32 n) const ;
13  void record(quint32, const QVariantList& vars, quint32 offset=0);
14  QVariantList column(const QString& nme) const;
15  void column(const QString& nme, const QVariantList& vars, quint32 offset=0);
16  QVariant cell(const QString& col, quint32 rec) const;
17  void cell(const QString& col, quint32 rec, const QVariant& var);
18 
19  bool createTable();
20  bool addColumn(const QString &name, const IDomain &domain);
21  bool addColumn(const ColumnDefinition& def);
22  ColumnDefinition columndefinition(const QString& nme) const;
23  quint32 columnIndex(const QString& nme) const;
24 
25  QVariant cellByKey(quint64 itemId, const QString &col);
26  void setTable(const ITable& tbl, const QString& keyColumn);
27 private:
28  void indexKey();
29 
30  ITable _tableImpl;
31  QString _keyColumn;
32  std::unordered_map<quint32, quint32> _index;
33 };
34 
36 }
37 
38 #endif // ATTRIBUTETABLE_H