Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
flattable.h
1 #ifndef FLATTABLE_H
2 #define FLATTABLE_H
3 
4 namespace Ilwis {
5 class KERNELSHARED_EXPORT FlatTable : public BaseTable
6 {
7 public:
11  FlatTable();
12 
22  FlatTable(const Resource& resource);
23 
24  ~FlatTable();
25 
26  //@override
27  bool createTable();
28 
29  void newRecord();
30  //@override
31  std::vector<QVariant> record(quint32 n) const ;
32 
33  //@override
34  void record(quint32, const std::vector<QVariant> &vars, quint32 offset=0);
35 
36  //@override
37  std::vector<QVariant> column(const QString& nme, quint32 start=0, quint32 stop=2e9) const;
38 
39  //@override
40  std::vector<QVariant> column(quint32 index, quint32 start=0, quint32 stop=2e9) const;
41 
42  //@override
43  void column(const QString& nme, const std::vector<QVariant> &vars, quint32 offset=0);
44 
45  //@override
46  void column(quint32 index, const std::vector<QVariant>& vars, quint32 offset);
47 
48  //@override
49  QVariant cell(const QString& col, quint32 rec, bool asRaw=true) const;
50 
51  //@override
52  QVariant cell(const quint32 index, quint32 rec, bool asRaw=true) const;
53 
54  //@override
55  void setCell(const QString& col, quint32 rec, const QVariant& var);
56 
57  //@override
58  void setCell(quint32, quint32 rec, const QVariant& var);
59 
60  //@override
61  bool prepare();
62 
63  //@override
64  bool isValid() const;
65 
66  //@override
67  bool addColumn(const QString &name, const IDomain& domain);
68 
69  //@override
70  bool addColumn(const ColumnDefinition& def);
71 
72  //@override
73  std::vector<quint32> select(const QString &conditions) const;
74 
75  //@override
76  IlwisTypes ilwisType() const;
77 
78  //@override
79  IlwisObject *clone() ;
80 
81 protected:
82  bool isColumnIndexValid(quint32 index) const{
83  bool ok = index != iUNDEF ;
84  if ( ok)
85  return true;
86  else
87  return false;
88  }
89  void copyTo(IlwisObject *obj);
90  std::vector< std::vector<QVariant> > _datagrid;
91 
92  bool initLoad();
93 };
95 }
96 
97 #endif // FLATTABLE_H