Salome HOME
refs #497: redesign of HYDRO main menu.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Operations.cxx
index 768781b1229b2b9cc8972e4b73b62d52ab970f02..c51d90b675925d7a1916c358de575fe24f0d30df 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2015  CEA/DEN, EDF R&D, OPEN CASCADE
 //
 // Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
 // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
@@ -6,7 +6,7 @@
 // This library is free software; you can redistribute it and/or
 // modify it under the terms of the GNU Lesser General Public
 // License as published by the Free Software Foundation; either
-// version 2.1 of the License.
+// version 2.1 of the License, or (at your option) any later version.
 //
 // This library is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 #include "HYDROGUI_ImmersibleZoneOp.h"
 #include "HYDROGUI_ImportGeomObjectOp.h"
 #include "HYDROGUI_ImportObstacleFromFileOp.h"
+#include "HYDROGUI_TranslateObstacleOp.h"
 #include "HYDROGUI_ExportCalculationOp.h"
 #include "HYDROGUI_ImportProfilesOp.h"
 #include "HYDROGUI_GeoreferencementOp.h"
 #include "HYDROGUI_SetColorOp.h"
 #include "HYDROGUI_BathymetryBoundsOp.h"
 #include "HYDROGUI_Tool.h"
+#include "HYDROGUI_ZLevelsOp.h"
+#include "HYDROGUI_LocalCSOp.h"
+#include "HYDROGUI_RiverBottomOp.h"
+#include "HYDROGUI_ProfileInterpolateOp.h"
 
 #include <HYDROData_Document.h>
 #include <HYDROData_Obstacle.h>
@@ -148,6 +153,7 @@ void HYDROGUI_Module::createActions()
   createAction( ImportGeomObjectAsPolylineId, "IMPORT_GEOM_OBJECT_AS_POLYLINE", "IMPORT_GEOM_OBJECT_ICO" );
   createAction( CreateBoxId, "CREATE_BOX", "CREATE_BOX_ICO" );
   createAction( CreateCylinderId, "CREATE_CYLINDER", "CREATE_CYLINDER_ICO" );
+  createAction( TranslateObstacleId, "TRANSLATE_OBSTACLE" );
 
   createAction( CreateCalculationId, "CREATE_CALCULATION", "CREATE_CALCULATION_ICO" );
   createAction( EditCalculationId, "EDIT_CALCULATION", "EDIT_CALCULATION_ICO" );
@@ -168,12 +174,18 @@ void HYDROGUI_Module::createActions()
                 SLOT( onDelete() ) );
 
   createAction( SetColorId, "COLOR" );
+  createAction( SetZLevelId, "ZLEVEL" );
+  createAction( EditLocalCSId, "EDIT_LOCAL_CS" );
 
   createAction( ShowId, "SHOW" );
   createAction( ShowOnlyId, "SHOW_ONLY" );
   createAction( ShowAllId, "SHOW_ALL" );
   createAction( HideId, "HIDE" );
   createAction( HideAllId, "HIDE_ALL" );
+
+  createAction( RiverBottomId, "CREATE_STREAM_BOTTOM", "CREATE_STREAM_BOTTOM_ICO" );
+  createAction( RiverBottomContextId, "CREATE_STREAM_BOTTOM", "CREATE_STREAM_BOTTOM_ICO" );
+  createAction( ProfileInterpolateId, "PROFILE_INTERPOLATE", "PROFILE_INTERPOLATE_ICO" );
 }
 
 void HYDROGUI_Module::createMenus()
@@ -196,19 +208,19 @@ void HYDROGUI_Module::createMenus()
   createMenu( ImportBathymetryId, 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 );
 
   int aNewProfileId = createMenu( tr( "MEN_DESK_PROFILE" ), aHydroId, -1 );
   createMenu( CreateProfileId, aNewProfileId, -1, -1 );
   createMenu( ImportProfilesId, aNewProfileId, -1, -1 );
   createMenu( AllGeoreferencementId, aNewProfileId, -1, -1 );
 
-  int anArtificialMenuId = createMenu( tr( "MEN_DESK_ARTIFICIAL" ), aHydroId, -1 );
-  createMenu( CreateChannelId, anArtificialMenuId, -1, -1 );
-  createMenu( CreateDigueId, anArtificialMenuId, -1, -1 );
-
-  int aNaturalMenuId = createMenu( tr( "MEN_DESK_NATURAL" ), aHydroId, -1 );
-  createMenu( CreateImmersibleZoneId, aNaturalMenuId, -1, -1 );
-  createMenu( CreateStreamId, aNaturalMenuId, -1, -1 );
+  int aStreamMenuId = createMenu( tr( "MEN_DESK_STREAM" ), aHydroId, -1 );
+  createMenu( CreateStreamId, aStreamMenuId, -1, -1 );
+  createMenu( RiverBottomId, aStreamMenuId, -1, -1 );
+  createMenu( ProfileInterpolateId, aStreamMenuId, -1, -1 );
 
   int anObstacleMenuId = createMenu( tr( "MEN_DESK_OBSTACLE" ), aHydroId, -1 );
   createMenu( ImportObstacleFromFileId, anObstacleMenuId, -1, -1 );
@@ -217,6 +229,8 @@ void HYDROGUI_Module::createMenus()
 
   createMenu( CreateCalculationId, aHydroId, -1, -1 );
   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 );
@@ -412,6 +426,9 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const
   case EditProfileId:
     anOp = new HYDROGUI_ProfileOp( aModule, theId == EditProfileId );
     break;
+  case ProfileInterpolateId:
+    anOp = new HYDROGUI_ProfileInterpolateOp( aModule );
+    break;
   case ImportProfilesId:
     anOp = new HYDROGUI_ImportProfilesOp( aModule ) ;
     break;
@@ -480,6 +497,9 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const
     anOp = new HYDROGUI_ImportGeomObjectOp( aModule, 
       HYDROGUI_ImportGeomObjectOp::ImportCreatedAsObstacle, GEOMOp::OpCylinder );
     break;
+  case TranslateObstacleId:
+    anOp = new HYDROGUI_TranslateObstacleOp( aModule );
+    break;
   case CopyViewerPositionId:
     anOp = new HYDROGUI_CopyPastePositionOp( aModule, false );
     break;
@@ -489,6 +509,16 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const
   case SetColorId:
     anOp = new HYDROGUI_SetColorOp( aModule );
     break;
+  case SetZLevelId:
+    anOp = new HYDROGUI_ZLevelsOp( aModule );
+    break;
+  case EditLocalCSId:
+    anOp = new HYDROGUI_LocalCSOp( aModule );
+    break;
+  case RiverBottomId:
+  case RiverBottomContextId:
+    anOp = new HYDROGUI_RiverBottomOp( aModule );
+    break;
   case ShowId:
   case ShowOnlyId:
   case ShowAllId: