Salome HOME
refs #638: zone name should not be changed when it is moved into another region
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Module.cxx
index 80d85173d25091d5edd911cb4c128ed798089ae8..60609a971612abb30b26f6291b1901b73daa82a9 100644 (file)
@@ -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 )
       {
@@ -689,8 +700,9 @@ void HYDROGUI_Module::contextMenuPopup( const QString& theClient,
       theMenu->addSeparator();
     }
 
-    if (anIsPolyline || anIsPolyline3D)
-      theMenu->addAction( action( ExportPolylineId ) );
+    bool anIsPoly = anIsPolyline || anIsPolyline3D;
+    if ((anIsPoly && !anIsLandCover) || (!anIsPoly && anIsLandCover))
+      theMenu->addAction( action( ExportToShapeFileID ) );
 
     // Add copy action
     QAction* aCopyAction = action( CopyId );
@@ -805,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 );
@@ -1341,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 );
@@ -1822,4 +1852,4 @@ void HYDROGUI_Module::setObjectRemoved( const Handle(HYDROData_Entity)& theObjec
       }
     }
   }
-}
\ No newline at end of file
+}