Salome HOME
Selector implementation for OCC viewer.
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Operations.cxx
index b0f255bdfe6ccc90fb4aa26934525defb43a4daa..706d9b75c56787c6f0b020ca62fee5c9606b023a 100644 (file)
@@ -22,6 +22,7 @@
 
 #include "HYDROGUI_Operations.h"
 
+#include "HYDROGUI_CopyPasteOp.h"
 #include "HYDROGUI_DataModel.h"
 #include "HYDROGUI_DeleteOp.h"
 #include "HYDROGUI_ExportImageOp.h"
 #include "HYDROGUI_ObserveImageOp.h"
 #include "HYDROGUI_PolylineOp.h"
 #include "HYDROGUI_ShowHideOp.h"
+#include "HYDROGUI_SplitZonesTool.h"
 #include "HYDROGUI_TwoImagesOp.h"
 #include "HYDROGUI_UpdateFlags.h"
 #include "HYDROGUI_UpdateImageOp.h"
 #include "HYDROGUI_VisualStateOp.h"
+#include "HYDROGUI_ZoneOp.h"
 
 #include <CAM_Application.h>
 
@@ -71,6 +74,9 @@ void HYDROGUI_Module::createActions()
   createAction( SaveVisualStateId, "SAVE_VISUAL_STATE" );
   createAction( LoadVisualStateId, "LOAD_VISUAL_STATE" );
 
+  createAction( CopyId, "COPY", "", Qt::CTRL + Qt::Key_C );
+  createAction( PasteId, "PASTE", "", Qt::CTRL + Qt::Key_V );
+
   createAction( ImportImageId, "IMPORT_IMAGE", "", Qt::CTRL + Qt::Key_I );
   createAction( EditImportedImageId, "EDIT_IMPORTED_IMAGE" );
   createAction( ObserveImageId, "OBSERVE_IMAGE" );
@@ -80,7 +86,10 @@ void HYDROGUI_Module::createActions()
   createAction( CreatePolylineId, "CREATE_POLYLINE" );
   createAction( EditPolylineId, "EDIT_POLYLINE" ); 
 
-  createAction( ImportBathymetryId, "IMPORT_BATHYMETRY", "", Qt::CTRL + Qt::SHIFT + Qt::Key_I );
+  createAction( ImportBathymetryId, "IMPORT_BATHYMETRY", "", Qt::CTRL + Qt::Key_B );
+
+  createAction( CreateZoneId, "CREATE_ZONE" );
+  createAction( EditZoneId, "EDIT_ZONE" );
 
   createAction( CreateCalculationId, "CREATE_CALCULATION" );
   createAction( EditCalculationId, "EDIT_CALCULATION" );
@@ -113,13 +122,18 @@ void HYDROGUI_Module::createMenus()
   int anEditMenu = createMenu( tr( "MEN_DESK_EDIT" ), -1, -1, 5 );
   createMenu( UndoId, anEditMenu );
   createMenu( RedoId, anEditMenu );
+  createMenu( separator(), anEditMenu );
+  createMenu( CopyId, anEditMenu );
+  createMenu( PasteId, anEditMenu );
 
   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( ImportBathymetryId, aHydroId, -1, -1 );
   createMenu( CreatePolylineId, aHydroId, -1, -1 );
+  createMenu( CreateZoneId, aHydroId, -1, -1 );
   createMenu( CreateCalculationId, aHydroId, -1, -1 );
+  createMenu( separator(), aHydroId );
   createMenu( FuseImagesId, aHydroId, -1, -1 );
   createMenu( CutImagesId, aHydroId, -1, -1 );
   createMenu( SplitImageId, aHydroId, -1, -1 );
@@ -239,6 +253,10 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const
   case LoadVisualStateId:
     anOp = new HYDROGUI_VisualStateOp( aModule, theId == LoadVisualStateId );
     break;
+  case CopyId:
+  case PasteId:
+    anOp = new HYDROGUI_CopyPasteOp( aModule, theId == PasteId );
+    break;
   case ImportImageId:
   case EditImportedImageId:
     anOp = new HYDROGUI_ImportImageOp( aModule, theId == EditImportedImageId );
@@ -259,6 +277,10 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const
   case ImportBathymetryId:
     anOp = new HYDROGUI_ImportBathymetryOp( aModule );
     break;
+  case CreateZoneId:
+  case EditZoneId:
+    anOp = new HYDROGUI_ZoneOp( aModule, theId == EditZoneId );
+    break;
   case CreateCalculationId:
   case EditCalculationId:
     anOp = new HYDROGUI_CalculationOp( aModule, theId == EditCalculationId );