Salome HOME
size of image is limited by 7000 pixels
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_Operations.cxx
index 3fa2afa37f50579a272d8c8d25c3288612d0d0d3..b1c5880127ccc45193f32b40bd019dce2a518962 100644 (file)
@@ -71,6 +71,7 @@
 #include "HYDROGUI_SetTransparencyOp.h"
 #include "HYDROGUI_ImportLandCoverMapOp.h"
 #include "HYDROGUI_BathymetrySelectionOp.h"
+#include "HYDROGUI_BathymetryOp.h"
 
 #include <HYDROData_Document.h>
 #include <HYDROData_Obstacle.h>
@@ -156,6 +157,14 @@ void HYDROGUI_Module::createActions()
   createAction( BathymetrySelectionId, "BATHYMETRY_SELECTION", "BATHYMETRY_SELECTION_ICO",
     0, true, SLOT( onBathymetrySelection() ) );
 
+  createAction( BathymetryTextId, "BATHYMETRY_TEXT", "BATHYMETRY_TEXT_ICO",
+    0, true, SLOT( onBathymetryText() ) );
+
+  createAction( BathymetryRescaleSelectionId, "BATHYMETRY_RESCALE_SELECTION", "BATHYMETRY_RESCALE_SELECTION_ICO" );
+  createAction( BathymetryRescaleVisibleId, "BATHYMETRY_RESCALE_VISIBLE", "BATHYMETRY_RESCALE_VISIBLE_ICO" );
+  createAction( BathymetryRescaleUserId, "BATHYMETRY_RESCALE_USER", "BATHYMETRY_RESCALE_USER_ICO" );
+  createAction( BathymetryRescaleDefaultId, "BATHYMETRY_RESCALE_DEFAULT", "BATHYMETRY_RESCALE_DEFAULT_ICO" );
+
   createAction( CreateImmersibleZoneId, "CREATE_IMMERSIBLE_ZONE", "CREATE_IMMERSIBLE_ZONE_ICO" );
   createAction( EditImmersibleZoneId, "EDIT_IMMERSIBLE_ZONE", "EDIT_IMMERSIBLE_ZONE_ICO" );
 
@@ -370,6 +379,11 @@ void HYDROGUI_Module::createToolbars()
 
   createTool( separator(), aToolBar );
   createTool( BathymetrySelectionId, aToolBar );
+  createTool( BathymetryTextId, aToolBar );
+  createTool( BathymetryRescaleSelectionId, aToolBar );
+  createTool( BathymetryRescaleVisibleId, aToolBar );
+  createTool( BathymetryRescaleUserId, aToolBar );
+  createTool( BathymetryRescaleDefaultId, aToolBar );
 }
 
 void HYDROGUI_Module::createUndoRedoActions()
@@ -573,6 +587,14 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const
   case BathymetrySelectionId:
     anOp = new HYDROGUI_BathymetrySelectionOp( aModule );
     break;
+  case BathymetryTextId:
+  case BathymetryRescaleSelectionId:
+  case BathymetryRescaleVisibleId:
+  case BathymetryRescaleUserId:
+  case BathymetryRescaleDefaultId:
+    anOp = new HYDROGUI_BathymetryOp( aModule, theId );
+    break;
+
   case CreateImmersibleZoneId:
   case EditImmersibleZoneId:
     anOp = new HYDROGUI_ImmersibleZoneOp( aModule, theId == EditImmersibleZoneId );
@@ -774,5 +796,26 @@ void HYDROGUI_Module::onBathymetrySelection()
   if( isChecked )
     startOperation( BathymetrySelectionId );
   else
-    operation( BathymetrySelectionId )->abort();
+  {
+    LightApp_Operation* op = operation( BathymetryTextId );
+    if( op )
+      op->abort();
+
+    op = operation( BathymetrySelectionId );
+    if( op )
+      op->abort();
+  }
+}
+
+void HYDROGUI_Module::onBathymetryText()
+{
+  QAction* a = qobject_cast<QAction*>( sender() );
+  if( !a )
+    return;
+
+  bool isChecked = a->isChecked();
+  if( isChecked )
+    startOperation( BathymetryTextId );
+  else
+    operation( BathymetryTextId )->abort();
 }