Salome HOME
Merge branch 'BR_LAND_COVER_MAP' of ssh://git.salome-platform.org/modules/hydro into...
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Module.cxx
index a4177f665ba69b50ddd94c16ac896f83eb28ff7c..81ad9fa08755b9f788dd910c46f02633b4c3bd1b 100644 (file)
@@ -399,7 +399,7 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
       anIsVisibleInSelection |= aVisibility;
       anIsHiddenInSelection |= !aVisibility;
 
-      if ( anObject->CanBeUpdated() && anObject->IsMustBeUpdated() )
+      if ( anObject->CanBeUpdated() && anObject->IsMustBeUpdated( HYDROData_Entity::Geom_All ) )
       {
         anIsMustObjectBeUpdated = true;
       }
@@ -518,12 +518,14 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
           theMenu->addAction( action( ImportStricklerTableFromFileId ) );          
           break;
         case KIND_LAND_COVER:
-          theMenu->addAction( action( CreateLandCoverId ) );          
+          theMenu->addAction( action( CreateLandCoverId ) ); 
+          theMenu->addAction( action( ImportLandCoverId ) ); 
           break;
         case KIND_CALCULATION:
           theMenu->addAction( action( CreateCalculationId ) );
           break;
         case KIND_POLYLINEXY:
+          theMenu->addAction( action( ImportPolylineId ) );
           theMenu->addAction( action( CreatePolylineId ) );
           break;
         case KIND_POLYLINE:
@@ -599,6 +601,9 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
       {
         theMenu->addAction( action( EditPolylineId ) );
         theMenu->addSeparator();
+        theMenu->addAction( action( SplitPolylinesId ) );
+        theMenu->addAction( action( MergePolylinesId ) );
+        theMenu->addSeparator();
       }
       else if( anIsPolyline3D )
       {
@@ -678,6 +683,12 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
         theMenu->addSeparator();
       }
 
+      if ( anIsStream || anIsChannel || anIsDigue || anIsObstacle )
+      {
+        theMenu->addAction( action( PolylineExtractionId ) );
+        theMenu->addSeparator();
+      }
+
       // Add set color action for geometrical objects
       if ( anIsObjectCanBeColored )
       {
@@ -806,6 +817,19 @@ void HYDROGUI_Module::createPreferences()
   setPreferenceProperty( defaultStricklerCoef, "step", 0.01 );
 }
 
+void HYDROGUI_Module::preferencesChanged( const QString& theSection, const QString& thePref )
+{
+    if ( theSection == "preferences" && thePref == "default_strickler_coefficient" )
+    {
+        SUIT_ResourceMgr* resMgr = application()->resourceMgr();
+        Handle(HYDROData_Document) aDoc = HYDROData_Document::Document( application()->activeStudy()->id() );
+        if ( resMgr && !aDoc.IsNull() )
+            aDoc->SetDefaultStricklerCoefficient( resMgr->doubleValue( theSection, thePref, 0 ) );
+    }
+    else
+        LightApp_Module::preferencesChanged( theSection, thePref );
+}
+
 QCursor HYDROGUI_Module::getPrefEditCursor() const
 {
   int aCursorType = SUIT_Session::session()->resourceMgr()->integerValue("preferences", "type_of_cursor", (int)CT_CrossCursor );
@@ -1342,6 +1366,11 @@ void HYDROGUI_Module::updateVTKZRange( const int theViewId, double theRange[] )
 }
 /////////////////// END OF VTKPrs PROCESSING
 
+void HYDROGUI_Module::clearCache()
+{
+    myObjectStateMap.clear();
+}
+
 CAM_DataModel* HYDROGUI_Module::createDataModel()
 {
   return new HYDROGUI_DataModel( this );