Salome HOME
refs #417: showing new objects
[modules/hydro.git] / src / HYDROData / HYDROData_Digue.h
1
2 #ifndef HYDROData_Digue_HeaderFile
3 #define HYDROData_Digue_HeaderFile
4
5 #include "HYDROData_Channel.h"
6
7 DEFINE_STANDARD_HANDLE(HYDROData_Digue, HYDROData_Channel)
8
9 /**\class HYDROData_Digue
10  * \brief 
11  *
12  */
13 class HYDROData_Digue : public HYDROData_Channel
14 {
15 protected:
16   /**
17    * Enumeration of tags corresponding to the persistent object parameters.
18    */
19   enum DataTag
20   {
21     DataTag_First = HYDROData_Channel::DataTag_First + 100, ///< first tag, to reserve
22   };
23
24 public:
25   DEFINE_STANDARD_RTTI(HYDROData_Digue);
26
27   /**
28    * Returns the kind of this object. Must be redefined in all objects of known type.
29    */
30   HYDRODATA_EXPORT virtual const ObjectKind GetKind() const {return KIND_DIGUE;}
31
32   /**
33    * Returns default filling color for new digue.
34    */
35   HYDRODATA_EXPORT static QColor DefaultFillingColor();
36
37   /**
38    * Returns default border color for new digue.
39    */
40   HYDRODATA_EXPORT static QColor DefaultBorderColor();
41
42 protected:
43
44   /**
45    * Returns default filling color for new object.
46    */
47   HYDRODATA_EXPORT virtual QColor getDefaultFillingColor() const;
48
49   /**
50    * Returns default border color for new object.
51    */
52   HYDRODATA_EXPORT virtual QColor getDefaultBorderColor() const;
53
54 protected:
55
56   friend class HYDROData_Iterator;
57
58   /**
59    * Creates new object in the internal data structure. Use higher level objects 
60    * to create objects with real content.
61    */
62   HYDRODATA_EXPORT HYDROData_Digue();
63
64   /**
65    * Destructs properties of the object and object itself, removes it from the document.
66    */
67   virtual HYDRODATA_EXPORT ~HYDROData_Digue();
68 };
69
70 #endif