Salome HOME
Tests for Bathymetry object.
[modules/hydro.git] / src / HYDROData / HYDROData_Object.h
index 4f2ae435e1570f20557053379f822131c98c1a70..7ea49e6b1c46daa92c2d930981e8e4854a031190 100644 (file)
@@ -8,6 +8,7 @@
 #include <QMap>
 
 class QString;
+class QVariant;
 class QStringList;
 
 ///! Kind of an object in a document
@@ -21,6 +22,8 @@ const ObjectKind KIND_BATHYMETRY = 4;
 
 DEFINE_STANDARD_HANDLE(HYDROData_Object, MMgt_TShared)
 
+typedef QMap<QString,Handle(Standard_Transient)> MapOfTreatedObjects;
+
 /**\class HYDROData_Object
  * \brief Generic class of any object in the data model.
  *
@@ -64,7 +67,19 @@ public:
    * You should reimplement this function in your derived class if it
    * has Python API and can be imported/exported from/to Python script.
    */
-  HYDRODATA_EXPORT virtual QStringList DumpToPython() const;
+  HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
+
+  /**
+   * Updates object state.
+   * Base implementation dose nothing.
+   */
+  HYDRODATA_EXPORT virtual void Update();
+
+  /**
+   * Returns data of object wrapped to QVariant.
+   * Base implementation returns null value.
+   */
+  HYDRODATA_EXPORT virtual QVariant GetDataVariant();
 
   /**
    * Checks is object exists in the data structure.
@@ -130,7 +145,7 @@ protected:
    * \returns pointer to the internal data structure wit harray content, 
    *          or NULL if array size is zero
    */
-  const char* ByteArray(const int theTag, int& theLen);
+  const char* ByteArray(const int theTag, int& theLen) const;
 
 protected:
   /// Array of pointers to the properties of this object; index in this array is returned by \a AddProperty.