#include <QMap>
class QString;
+class QVariant;
class QStringList;
///! Kind of an object in a document
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.
*
* 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.
* \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.