Salome HOME
refs #618
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Operations.cxx
index 98e3ee3c6c8a59610ecd179d474a8f6d2330b3ad..be2b9cdbdfed1c1ba026abbcbe677749bc4ee6bb 100644 (file)
@@ -63,6 +63,7 @@
 #include "HYDROGUI_StricklerTableOp.h"
 #include "HYDROGUI_DuplicateOp.h"
 #include "HYDROGUI_LandCoverOp.h"
+#include "HYDROGUI_PolylineExtractionOp.h"
 #include "HYDROGUI_ExportSinusXOp.h"
 #include "HYDROGUI_MergePolylinesOp.h"
 #include "HYDROGUI_SplitPolylinesOp.h"
@@ -214,6 +215,7 @@ void HYDROGUI_Module::createActions()
   createAction( SubmersibleId, "SUBMERSIBLE", "SUBMERSIBLE_ICO" );
   createAction( ExportToShapeFileID, "EXPORT_TO_SHAPE_FILE", "EXPORT_TO_SHAPE_FILE_ICO" );
 
+  createAction( PolylineExtractionId, "POLYLINE_EXTRACTION" );
   createAction( SplitPolylinesId, "SPLIT_POLYLINES", "SPLIT_POLYLINES_ICO" );
   createAction( MergePolylinesId, "MERGE_POLYLINES", "MERGE_POLYLINES_ICO" );
 
@@ -237,21 +239,30 @@ void HYDROGUI_Module::createMenus()
 
   int aHydroMenu = 6; // Edit menu id == 5, View menu id == 10
   int aHydroId = createMenu( tr( "MEN_DESK_HYDRO" ), -1, -1, aHydroMenu );
-  createMenu( ImportImageId, aHydroId, -1, -1 );
-  createMenu( ImportPolylineId, aHydroId, -1, -1 );
   createMenu( ImportSinusXId, aHydroId, -1, -1 );
   createMenu( ExportSinusXId, aHydroId, -1, -1 );
   createMenu( ImportLandcoverId, aHydroId, -1, -1 );
   
   createMenu( ImportBathymetryId, aHydroId, -1, -1 );
   createMenu( ImportStricklerTableFromFileId, aHydroId, -1, -1 );
-  createMenu( CreatePolylineId, aHydroId, -1, -1 );
   createMenu( CreatePolyline3DId, aHydroId, -1, -1 );
   createMenu( CreateImmersibleZoneId, aHydroId, -1, -1 );
   createMenu( CreateChannelId, aHydroId, -1, -1 );
   createMenu( CreateDigueId, aHydroId, -1, -1 );  
   createMenu( CreateLandCoverId, aHydroId, -1, -1 );  
 
+  int aNewImageId = createMenu( tr( "MEN_DESK_IMAGE" ), aHydroId, -1 );
+  createMenu( ImportImageId, aNewImageId, -1, -1 );
+  createMenu( FuseImagesId, aNewImageId, -1, -1 );
+  createMenu( CutImagesId, aNewImageId, -1, -1 );
+  createMenu( SplitImageId, aNewImageId, -1, -1 );
+
+  int aNewPolylineId = createMenu( tr( "MEN_DESK_POLYLINE" ), aHydroId, -1 );
+  createMenu( ImportPolylineId, aNewPolylineId, -1, -1 );
+  createMenu( CreatePolylineId, aNewPolylineId, -1, -1 );
+  createMenu( SplitPolylinesId, aNewPolylineId, -1, -1 );
+  createMenu( MergePolylinesId, aNewPolylineId, -1, -1 );
+
   int aNewProfileId = createMenu( tr( "MEN_DESK_PROFILE" ), aHydroId, -1 );
   createMenu( CreateProfileId, aNewProfileId, -1, -1 );
   createMenu( ImportProfilesId, aNewProfileId, -1, -1 );
@@ -271,12 +282,6 @@ void HYDROGUI_Module::createMenus()
   createMenu( separator(), aHydroId );
   createMenu( EditLocalCSId, aHydroId, -1, -1 );
   createMenu( separator(), aHydroId );
-  createMenu( FuseImagesId, aHydroId, -1, -1 );
-  createMenu( CutImagesId, aHydroId, -1, -1 );
-  createMenu( SplitImageId, aHydroId, -1, -1 );
-  createMenu( separator(), aHydroId );
-  createMenu( SplitPolylinesId, aHydroId, -1, -1 );
-  createMenu( MergePolylinesId, aHydroId, -1, -1 );
 }
 
 void HYDROGUI_Module::createPopups()
@@ -612,6 +617,9 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const
   case SubmersibleId:
     anOp = new HYDROGUI_SubmersibleOp( aModule );
     break;
+  case PolylineExtractionId:
+    anOp = new HYDROGUI_PolylineExtractionOp( aModule );
+    break;
   case SplitPolylinesId:
     anOp = new HYDROGUI_SplitPolylinesOp( aModule );
     break;