Ilwis-Objects  1.0
GIS and Remote Sensing framework for data access and processing
All Classes Functions Enumerations Pages
domainitem.h
1 #ifndef DOMAINITEM_H
2 #define DOMAINITEM_H
3 
4 namespace Ilwis {
5 class DomainItem
6 {
7 public:
11  DomainItem(quint32 rawvalue=iUNDEF) : _raw(rawvalue) {}
12 
13  virtual ~DomainItem() {}
14 
21  virtual bool isValid() const = 0;
22 
28  virtual QString name() const =0 ;
29 
36  virtual DomainItem *clone() const=0;
37 
38  //@override
39  virtual IlwisTypes valueType() const = 0;
40 
46  virtual void raw(quint32 r) {
47  _raw = r;
48  }
49 
55  virtual quint32 raw() const
56  {
57  return _raw;
58  }
59 
60  template<typename ItemType> ItemType* toType(){
61  return dynamic_cast<ItemType *>(this);
62  }
63 
64 protected:
65  quint32 _raw;
66 
67 };
68 
69 typedef QSharedPointer<DomainItem> SPDomainItem;
70 }
71 
72 #endif // DOMAINITEM_H