Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
 All Classes Functions Enumerations Pages
numericitemrange.h
1 #ifndef NUMERICITEMRANGE_H
2 #define NUMERICITEMRANGE_H
3 
4 namespace Ilwis {
10 class KERNELSHARED_EXPORT NumericItemRange : public ItemRange
11 {
12 public:
17 
18  //@override
19  QVariant impliedValue(const QVariant& v) const;
20 
21  //@override
22  quint32 count() const ;
23 
24  //@override
25  SPDomainItem item(quint32 index) const ;
26 
27  //@override
28  SPDomainItem item(const QString &def) const ;
29 
30  //@override
31  SPDomainItem itemByOrder(quint32 index) const;
32 
41  virtual double index(double v) const;
42 
43  //@override
44  bool contains(const QVariant& name, bool inclusive = true) const ;
45 
46  //@override
47  bool isValid() const;
48 
49  //@override
50  void add(DomainItem *item) ;
51 
52  //@override
53  void add(SPDomainItem item);
54 
55  //@override
56  void remove(const QString& nm) ;
57 
64  QString toString() const;
65 
69  void clear();
70 
71  //@override
72  ItemRange *clone() const;
73 
95  NumericItemRange &operator <<(const QString &itemdef);
96 
97  //@override
98  qint32 gotoIndex(qint32 index, qint32 step) const;
99 
100 protected:
101  void addRange(const ItemRange &range);
102 private:
103  std::vector<SPNumericItem> _items;
104  bool validNumber(QString value) const;
105  bool alignWithParent(const IDomain& dom);
106 };
107 
108 typedef QSharedPointer<NumericItemRange> SPNumericItemRange;
109 }
110 
111 #endif // NUMERICITEMRANGE_H