OSSIM - Open Source Software Image Map  Version 1.9.0 (20180803)
ossimProperty.h
Go to the documentation of this file.
1 //*******************************************************************
2 //
3 // License: See top level LICENSE.txt file.
4 //
5 // Author: Garrett Potts
6 //
7 //*************************************************************************
8 // $Id: ossimProperty.h 19917 2011-08-09 11:12:24Z gpotts $
9 #ifndef ossimProperty_HEADER
10 #define ossimProperty_HEADER
11 #include <ossim/base/ossimObject.h>
12 #include <ossim/base/ossimString.h>
14 
17 {
18 public:
25  {
26  ossimPropertyChangeType_NOTSPECIFIED = 0,
27  ossimPropertyChangeType_CACHE_REFRESH = 1,
28  ossimPropertyChangeType_FULL_REFRESH = 2,
29  ossimPropertyChangeType_AFFECTS_OTHERS = 4, // used to identify if this property modification affects the values of other properties once set
30  ossimPropertyChangeType_ALL = (ossimPropertyChangeType_CACHE_REFRESH|ossimPropertyChangeType_FULL_REFRESH|ossimPropertyChangeType_AFFECTS_OTHERS)
31  };
32  ossimProperty(const ossimString& name=ossimString(""));
33  ossimProperty(const ossimProperty& rhs);
34 
35  const ossimProperty& operator = (const ossimProperty& rhs);
36  virtual const ossimProperty& assign(const ossimProperty& rhs);
37 
38  const ossimString& getName()const;
39  void setName(const ossimString& name);
40 
41  virtual bool setValue(const ossimString& value)=0;
42  virtual void valueToString(ossimString& valueResult)const=0;
43  virtual ossimString valueToString()const;
44 
45  virtual const ossimContainerProperty* asContainer()const;
46  virtual ossimContainerProperty* asContainer();
47  bool isChangeTypeSet(int type)const;
48  void clearChangeType();
49  void setChangeType(int type, bool on=true);
50  void setFullRefreshBit();
51  void setCacheRefreshBit();
52 
53  ossimPropertyChangeType getChangeType()const;
54  bool isFullRefresh()const;
55  bool isCacheRefresh()const;
56  bool isChangeTypeSpecified()const;
57  bool affectsOthers()const;
58 
59  virtual void setReadOnlyFlag(bool flag);
60  bool getReadOnlyFlag()const;
61  bool isReadOnly()const;
62 
63  void setModifiedFlag(bool flag);
64  bool getModifiedFlag()const;
65  bool isModified()const;
66  void clearModifiedFlag();
67 
68  void setDescription(const ossimString& description);
69 
70  virtual ossimString getDescription()const;
71 
72  virtual ossimRefPtr<ossimXmlNode> toXml()const;
73 
74  virtual void saveState(ossimKeywordlist& kwl, const ossimString& prefix = "")const;
75  virtual void accept(ossimVisitor& visitor);
76 
77 protected:
78  virtual ~ossimProperty();
84 
86 };
87 
88 #endif
ossimPropertyChangeType theChangeType
Definition: ossimProperty.h:82
Represents serializable keyword/value map.
virtual void accept(ossimVisitor &visitor)
virtual bool saveState(ossimKeywordlist &kwl, const char *prefix=0) const
Definition: ossimObject.cpp:95
ossimString theName
Definition: ossimProperty.h:79
ossimString theDescription
Definition: ossimProperty.h:80
#define TYPE_DATA
Definition: ossimRtti.h:339
bool theModifiedFlag
Definition: ossimProperty.h:83
virtual ossimString getDescription() const
Definition: ossimObject.cpp:58
ossimReferenced & operator=(const ossimReferenced &)
#define OSSIM_DLL
bool theReadOnlyFlag
Definition: ossimProperty.h:81