]> SALOME platform Git repositories - modules/hydro.git/commitdiff
Salome HOME
Update mechanism for calculation case and it child objects corrected.
authoradv <adv@opencascade.com>
Fri, 6 Dec 2013 06:52:57 +0000 (06:52 +0000)
committeradv <adv@opencascade.com>
Fri, 6 Dec 2013 06:52:57 +0000 (06:52 +0000)
src/HYDROData/HYDROData_CalculationCase.cxx
src/HYDROData/HYDROData_Entity.cxx
src/HYDROData/HYDROData_Entity.h
src/HYDROData/HYDROData_Region.cxx
src/HYDROData/HYDROData_Region.h
src/HYDROData/HYDROData_Zone.cxx
src/HYDROData/HYDROData_Zone.h
src/HYDROGUI/HYDROGUI_Module.cxx

index c1b324457db24d06be63a4376b6e79b417f67894..9d6b58f460957305786c6056ca4d85439d3c886c 100644 (file)
@@ -133,6 +133,10 @@ HYDROData_SequenceOfObjects HYDROData_CalculationCase::GetAllReferenceObjects()
 {
   HYDROData_SequenceOfObjects aResSeq = HYDROData_Entity::GetAllReferenceObjects();
 
+  Handle(HYDROData_PolylineXY) aBoundaryPolyline = GetBoundaryPolyline();
+  if ( !aBoundaryPolyline.IsNull() )
+    aResSeq.Append( aBoundaryPolyline );
+
   HYDROData_SequenceOfObjects aSeqOfRegions = GetRegions();
   aResSeq.Append( aSeqOfRegions );
 
index 126f6dffbe261bae936a9679b339359fac4dfb3a..512c0431b943a6cddad8339e4595dffa73d756e1 100644 (file)
@@ -91,6 +91,11 @@ bool HYDROData_Entity::IsMustBeUpdated() const
   return myLab.IsAttribute( GUID_MUST_BE_UPDATED );
 }
 
+bool HYDROData_Entity::CanBeUpdated() const
+{
+  return true;
+}
+
 bool HYDROData_Entity::IsRemoved() const
 {
   return !myLab.HasAttribute();
index dd067a187fa9de588ed177378ccdcf5b38248052..b1211e45336ef4b3a3340cc57e1eea2c92ea1d27 100644 (file)
@@ -108,17 +108,24 @@ public:
    */
   HYDRODATA_EXPORT virtual QVariant GetDataVariant();
 
+
   /**
    * Sets the "MustBeUpdated" flag: if object is depended on updated features.
    * \param theFlag is true for objects that must be updated, false for up-to-date
    */
-  HYDRODATA_EXPORT void SetToUpdate( bool theFlag );
+  HYDRODATA_EXPORT virtual void SetToUpdate( bool theFlag );
 
   /**
    * Returns the "MustBeUpdated" flag: is object data must be updated or not
    * \returns false if object is up to date
    */
-  HYDRODATA_EXPORT bool IsMustBeUpdated() const;
+  HYDRODATA_EXPORT virtual bool IsMustBeUpdated() const;
+
+  /**
+   * Returns flag indicating that object is updateble or not.
+   */
+  HYDRODATA_EXPORT virtual bool CanBeUpdated() const;
+
 
   /**
    * Checks is object exists in the data structure.
index 90cc82e251a5d7371e11a7e3db9e87a5799ba797..12103c787be22250d261167419a95149ea3ec36f 100644 (file)
@@ -66,6 +66,11 @@ QStringList HYDROData_Region::DumpToPython( MapOfTreatedObjects& theTreatedObjec
   return aResList;
 }
 
+bool HYDROData_Region::CanBeUpdated() const
+{
+  return false;
+}
+
 void HYDROData_Region::Remove()
 {
   Handle(HYDROData_CalculationCase) aFatherCalc = 
index e6769ebe9188dbff6302931f34633ee447cdf4db..7139837bc89959d04bf38453ffeef4722ded3a6e 100644 (file)
@@ -43,6 +43,12 @@ public:
   HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
 
 
+  /**
+   * Returns flag indicating that object is updateble or not.
+   */
+  HYDRODATA_EXPORT virtual bool CanBeUpdated() const;
+
+
   /**
    * Removes object and it child sub-objects from the data structure.
    * Reimplemented to update names of regions in father calculation.
index 6dfa4efa13fea0d3bb50705211f1b24a035a745c..76e5dc8cf5f8a42274fcd5166eb4f8626d9c4d30 100644 (file)
@@ -63,6 +63,11 @@ QStringList HYDROData_Zone::DumpToPython( MapOfTreatedObjects& theTreatedObjects
   return aResList;
 }
 
+bool HYDROData_Zone::CanBeUpdated() const
+{
+  return false;
+}
+
 bool HYDROData_Zone::CanRemove()
 {
   return false;
index 610b3e1881d4f6a1b9c8cfecc9d38af1694a2718..a01db41e835c4b10c06d2ddb0b584bd4fe203f78 100644 (file)
@@ -55,6 +55,12 @@ public:
   HYDRODATA_EXPORT virtual QStringList DumpToPython( MapOfTreatedObjects& theTreatedObjects ) const;
 
 
+  /**
+   * Returns flag indicating that object is updateble or not.
+   */
+  HYDRODATA_EXPORT virtual bool CanBeUpdated() const;
+
+
   /**
    * Returns flag indicating that object can be removed or not.
    */
index 19d2e20757c0f91b3f4d75e5eb7b0e5a6a8f72c9..ce333bb341778adfa3a3b14ab6ea45f3907d31d6 100644 (file)
@@ -253,7 +253,7 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
   bool anIsFusedImage = false;
   bool anIsCutImage = false;
   bool anIsSplittedImage = false;
-  bool anIsMustobjectBeUpdated = false;
+  bool anIsMustObjectBeUpdated = false;
   bool anIsPolyline = false;
   bool anIsPolyline3D = false;
   bool anIsProfile = false;
@@ -290,9 +290,9 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
       anIsVisibleInSelection |= aVisibility;
       anIsHiddenInSelection |= !aVisibility;
 
-      if ( anObject->IsMustBeUpdated() )
+      if ( anObject->CanBeUpdated() && anObject->IsMustBeUpdated() )
       {
-        anIsMustobjectBeUpdated = true;
+        anIsMustObjectBeUpdated = true;
       }
 
       ObjectKind anObjectKind = anObject->GetKind();
@@ -411,7 +411,7 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
 
   if( anIsSelectedDataObjects )
   {
-    if ( anIsMustobjectBeUpdated )
+    if ( anIsMustObjectBeUpdated )
     {
       theMenu->addAction( action( UpdateObjectId ) );
       theMenu->addSeparator();