X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_DataModel.h;h=019350e1a849a5ab3cff1c512a550f38dddedc37;hb=a88716339afd0e93e4a62bd0379c8c6eacd01ad9;hp=bfc590e71b4a2d43df8b0b6ed87028ef311dbb51;hpb=bfe9d3ccf8d5347b917d4c9e5e89413cebe51cc6;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_DataModel.h b/src/HYDROGUI/HYDROGUI_DataModel.h index bfc590e7..019350e1 100644 --- a/src/HYDROGUI/HYDROGUI_DataModel.h +++ b/src/HYDROGUI/HYDROGUI_DataModel.h @@ -27,8 +27,10 @@ #include #include #include +#include #include +#include #include #include @@ -36,6 +38,7 @@ class CAM_DataObject; class SUIT_DataObject; class HYDROGUI_DataObject; +class HYDROGUI_Zone; /** * \class HYDROGUI_DataModel @@ -141,6 +144,11 @@ public: */ CAM_DataObject* createRootModuleObject( SUIT_DataObject* theParent ); + /** + * Create a new region in the given calculation case containing given zones. + */ + bool createNewRegion( Handle(HYDROData_CalculationCase) theCase, const QList& theZonesList ); + /** * Correct an internal model object according to the current document mode */ @@ -212,6 +220,25 @@ public: */ bool paste(); + /** + * Rename the object + */ + bool rename( Handle(HYDROData_Entity) theEntity, const QString& theName ); + + /** + * Creates the Calculation Case subtree for usage within an operation dialog. + * \param theParent a created object will be appended as a child of this GUI object + * \param theCase the calculation case model object + */ + void buildCaseTree( SUIT_DataObject* theParent, + Handle(HYDROData_CalculationCase) theCase ); + + /** + * Updates the object subtree. + * \param theObj the data model entity + */ + void updateObjectTree( Handle(HYDROData_Entity)& theObj ); + /** * Update the sequence of the objects to be copied */ @@ -224,6 +251,7 @@ public: */ static QString partitionName( const ObjectKind theObjectKind ); +protected: /** * Returns the document for the current study */ @@ -240,7 +268,6 @@ public: const QString& theParentEntry = QString(), const bool theIsBuildTree = true ); -protected: /** * Creates the GUI data object without corresponding model object: just by name * \param theParent a created object will be appended as a child of this object @@ -258,30 +285,64 @@ protected: * \param theObject the GUI object * \param theParentEntry the entry of parent object * \param theIsBuildTree if true then build the subtree of the GUI object + * \param theIsInOperation if true then the tree is used for a browser within an operation, it is false by default */ LightApp_DataObject* buildObject( SUIT_DataObject* theParent, HYDROGUI_DataObject* theObject, const QString& theParentEntry, - const bool theIsBuildTree ); + const bool theIsBuildTree, + const bool theIsInOperation = false ); + /** + * Build object tree if the flag theIsBuildTree is true. + * \param theParent a created object will be appended as a child of this GUI object + * \param theModelObject the data model zone object + * \param theParentEntry the entry of parent object + * \param theIsBuildTree if true then build the subtree of the GUI object + * \param theIsInOperation if true then the tree is used for a browser within an operation, it is false by default + */ LightApp_DataObject* createZone( SUIT_DataObject* theParent, Handle(HYDROData_Zone) theModelObject, const QString& theParentEntry, - const bool theIsBuildTree ); + const bool theIsBuildTree , + const bool theIsInOperation = false ); + /** + * Build object tree if the flag theIsBuildTree is true. + * \param theParent a created object will be appended as a child of this GUI object + * \param theModelObject the data model region object + * \param theParentEntry the entry of parent object + * \param theIsBuildTree if true then build the subtree of the GUI object + * \param theIsInOperation if true then the tree is used for a browser within an operation, it is false by default + */ LightApp_DataObject* createRegion( SUIT_DataObject* theParent, Handle(HYDROData_Region) theModelObject, const QString& theParentEntry, - const bool theIsBuildTree ); + const bool theIsBuildTree , + const bool theIsInOperation = false ); + /** + * Build partition for object. + * \param theObject gui object for which the partition will be build + * \param theObjects sequence of builded objects + * \param thePartName name of created partition + * \param theIsCreateEmpty if true then partition will be created in any case + */ + void buildObjectPartition( SUIT_DataObject* theObject, + const HYDROData_SequenceOfObjects& theObjects, + const QString& thePartName, + const bool theIsCreateEmpty ); + /** - * Build tree of model object. + * Build tree of a model object. * \param theParent a created object will be appended as a child of this object * \param theObject gui object for which the tree will be build * \param theParentEntry entry of parent object + * \param theIsInOperation if true then the tree is used for a browser within an operation, it is false by default */ void buildObjectTree( SUIT_DataObject* theParent, SUIT_DataObject* theObject, - const QString& theParentEntry = QString() ); + const QString& theParentEntry = QString(), + const bool theIsInOperation = false ); /** * Removes data object from the tree.