X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Operations.cxx;h=ad34f778a3fed7121b7017a1218ef59bc1e24e0f;hb=a0af24ffefdde80cb89a80cc048fbb72f4479139;hp=89e8ab2cb9a4c61b43827e02a90ecf8e659aa502;hpb=55bdcf56f6c32a4164dc1bf0191e9a3d7db7c71f;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Operations.cxx b/src/HYDROGUI/HYDROGUI_Operations.cxx index 89e8ab2c..ad34f778 100644 --- a/src/HYDROGUI/HYDROGUI_Operations.cxx +++ b/src/HYDROGUI/HYDROGUI_Operations.cxx @@ -1,12 +1,8 @@ -// Copyright (C) 2007-2013 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 -// +// Copyright (C) 2014-2015 EDF-R&D // 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 @@ -26,9 +22,14 @@ #include "HYDROGUI_CalculationOp.h" #include "HYDROGUI_ChannelOp.h" #include "HYDROGUI_DataModel.h" +#include "HYDROGUI_CopyPastePositionOp.h" #include "HYDROGUI_DeleteOp.h" +#include "HYDROGUI_DigueOp.h" #include "HYDROGUI_ExportImageOp.h" +#include "HYDROGUI_ExportFileOp.h" #include "HYDROGUI_ImportImageOp.h" +#include "HYDROGUI_ImportPolylineOp.h" +#include "HYDROGUI_ImportSinusXOp.h" #include "HYDROGUI_ImportBathymetryOp.h" #include "HYDROGUI_ImmersibleZoneOp.h" #include "HYDROGUI_Module.h" @@ -41,16 +42,31 @@ #include "HYDROGUI_StreamOp.h" #include "HYDROGUI_TwoImagesOp.h" #include "HYDROGUI_UpdateFlags.h" -#include "HYDROGUI_UpdateImageOp.h" +#include "HYDROGUI_UpdateObjectOp.h" #include "HYDROGUI_VisualStateOp.h" #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 "HYDROGUI_RecognizeContoursOp.h" +#include "HYDROGUI_SubmersibleOp.h" +#include "HYDROGUI_StricklerTableOp.h" +#include "HYDROGUI_DuplicateOp.h" +#include "HYDROGUI_LandCoverOp.h" +#include "HYDROGUI_ExportSinusXOp.h" +#include "HYDROGUI_MergePolylinesOp.h" +#include "HYDROGUI_SplitPolylinesOp.h" +#include "HYDROGUI_LandCoverColoringOp.h" #include #include @@ -67,6 +83,7 @@ #include #include +#include #include #include @@ -102,65 +119,104 @@ void HYDROGUI_Module::createActions() 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" ); - createAction( ExportImageId, "EXPORT_IMAGE" ); - createAction( UpdateImageId, "UPDATE_IMAGE" ); - createAction( RemoveImageRefsId, "REMOVE_IMAGE_REFERENCE" ); + createAction( UpdateObjectId, "UPDATE_OBJECT" ); + createAction( ForcedUpdateObjectId, "FORCED_UPDATE_OBJECT" ); + + createAction( ImportImageId, "IMPORT_IMAGE", "IMPORT_IMAGE_ICO", Qt::CTRL + Qt::Key_I ); + createAction( EditImportedImageId, "EDIT_IMPORTED_IMAGE", "EDIT_IMPORTED_IMAGE_ICO" ); + createAction( ObserveImageId, "OBSERVE_IMAGE", "OBSERVE_IMAGE_ICO" ); + createAction( ExportImageId, "EXPORT_IMAGE", "EXPORT_IMAGE_ICO" ); + createAction( RemoveImageRefsId, "REMOVE_IMAGE_REFERENCE", "REMOVE_IMAGE_REFERENCE_ICO" ); + + createAction( ImportPolylineId, "IMPORT_POLYLINE", "IMPORT_POLYLINE_ICO" ); + createAction( ImportSinusXId, "IMPORT_SINUSX", "IMPORT_SINUSX_ICO" ); + createAction( ExportSinusXId, "EXPORT_SINUSX", "EXPORT_SINUSX_ICO" ); - createAction( CreatePolylineId, "CREATE_POLYLINE" ); - createAction( EditPolylineId, "EDIT_POLYLINE" ); + createAction( CreatePolylineId, "CREATE_POLYLINE", "CREATE_POLYLINE_ICO" ); + createAction( EditPolylineId, "EDIT_POLYLINE", "EDIT_POLYLINE_ICO" ); - createAction( CreatePolyline3DId, "CREATE_POLYLINE_3D" ); - createAction( EditPolyline3DId, "EDIT_POLYLINE_3D" ); + createAction( CreatePolyline3DId, "CREATE_POLYLINE_3D", "CREATE_POLYLINE_3D_ICO" ); + createAction( EditPolyline3DId, "EDIT_POLYLINE_3D", "EDIT_POLYLINE_3D_ICO" ); - createAction( CreateProfileId, "CREATE_PROFILE" ); - createAction( ImportProfilesId, "IMPORT_PROFILES" ); - createAction( EditProfileId, "EDIT_PROFILE" ); - createAction( AllGeoreferencementId, "GEOREFERENCEMENT" ); - createAction( SelectedGeoreferencementId, "GEOREFERENCEMENT" ); + createAction( CreateProfileId, "CREATE_PROFILE", "CREATE_PROFILE_ICO" ); + createAction( ImportProfilesId, "IMPORT_PROFILES", "IMPORT_PROFILES_ICO" ); + createAction( EditProfileId, "EDIT_PROFILE", "EDIT_PROFILE_ICO" ); + createAction( AllGeoreferencementId, "GEOREFERENCEMENT", "GEOREFERENCEMENT_ICO" ); + createAction( SelectedGeoreferencementId, "GEOREFERENCEMENT", "GEOREFERENCEMENT_ICO" ); - createAction( ImportBathymetryId, "IMPORT_BATHYMETRY", "", Qt::CTRL + Qt::Key_B ); - createAction( EditImportedBathymetryId, "EDIT_IMPORTED_BATHYMETRY" ); + createAction( ImportBathymetryId, "IMPORT_BATHYMETRY", "IMPORT_BATHYMETRY_ICO", Qt::CTRL + Qt::Key_B ); + createAction( EditImportedBathymetryId, "EDIT_IMPORTED_BATHYMETRY", "EDIT_IMPORTED_BATHYMETRY_ICO" ); + createAction( BathymetryBoundsId, "BATHYMETRY_BOUNDS", "BATHYMETRY_BOUNDS_ICO" ); + + createAction( CreateImmersibleZoneId, "CREATE_IMMERSIBLE_ZONE", "CREATE_IMMERSIBLE_ZONE_ICO" ); + createAction( EditImmersibleZoneId, "EDIT_IMMERSIBLE_ZONE", "EDIT_IMMERSIBLE_ZONE_ICO" ); + + createAction( CreateStreamId, "CREATE_STREAM", "CREATE_STREAM_ICO" ); + createAction( EditStreamId, "EDIT_STREAM", "EDIT_STREAM_ICO" ); + + createAction( CreateChannelId, "CREATE_CHANNEL", "CREATE_CHANNEL_ICO" ); + createAction( EditChannelId, "EDIT_CHANNEL", "EDIT_CHANNEL_ICO" ); + + createAction( CreateDigueId, "CREATE_DIGUE", "CREATE_DIGUE_ICO" ); + createAction( EditDigueId, "EDIT_DIGUE", "EDIT_DIGUE_ICO" ); - createAction( CreateImmersibleZoneId, "CREATE_IMMERSIBLE_ZONE" ); - createAction( EditImmersibleZoneId, "EDIT_IMMERSIBLE_ZONE" ); + createAction( ImportStricklerTableFromFileId, "IMPORT_STRICKLER_TABLE", "IMPORT_STRICKLER_TABLE_ICO" ); + createAction( ExportStricklerTableFromFileId, "EXPORT_STRICKLER_TABLE", "EXPORT_STRICKLER_TABLE_ICO" ); + createAction( EditStricklerTableId, "EDIT_STRICKLER_TABLE", "EDIT_STRICKLER_TABLE_ICO" ); + createAction( DuplicateStricklerTableId, "DUPLICATE_STRICKLER_TABLE", "DUPLICATE_STRICKLER_TABLE_ICO" ); - createAction( CreateStreamId, "CREATE_STREAM" ); - createAction( EditStreamId, "EDIT_STREAM" ); + createAction( CreateLandCoverId, "CREATE_LAND_COVER", "CREATE_LAND_COVER_ICO" ); + createAction( EditLandCoverId, "EDIT_LAND_COVER", "EDIT_LAND_COVER_ICO" ); - createAction( CreateChannelId, "CREATE_CHANNEL" ); - createAction( EditChannelId, "EDIT_CHANNEL" ); + createAction( ImportObstacleFromFileId, "IMPORT_OBSTACLE_FROM_FILE", "IMPORT_OBSTACLE_FROM_FILE_ICO" ); + createAction( ImportGeomObjectAsObstacleId, "IMPORT_GEOM_OBJECT_AS_OBSTACLE", "IMPORT_GEOM_OBJECT_ICO" ); + 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( ImportObstacleFromFileId, "IMPORT_OBSTACLE_FROM_FILE" ); - createAction( ImportGeomObjectId, "IMPORT_GEOM_OBJECT" ); - createAction( CreateBoxId, "CREATE_BOX" ); - createAction( CreateCylinderId, "CREATE_CYLINDER" ); + createAction( CreateCalculationId, "CREATE_CALCULATION", "CREATE_CALCULATION_ICO" ); + createAction( EditCalculationId, "EDIT_CALCULATION", "EDIT_CALCULATION_ICO" ); + createAction( ExportCalculationId, "EXPORT_CALCULATION", "EXPORT_CALCULATION_ICO" ); - createAction( CreateCalculationId, "CREATE_CALCULATION" ); - createAction( EditCalculationId, "EDIT_CALCULATION" ); - createAction( ExportCalculationId, "EXPORT_CALCULATION" ); + createAction( FuseImagesId, "FUSE_IMAGES", "FUSE_IMAGES_ICO" ); + createAction( EditFusedImageId, "EDIT_FUSED_IMAGE", "EDIT_FUSED_IMAGE_ICO" ); - createAction( FuseImagesId, "FUSE_IMAGES" ); - createAction( EditFusedImageId, "EDIT_FUSED_IMAGE" ); + createAction( CutImagesId, "CUT_IMAGES", "CUT_IMAGES_ICO" ); + createAction( EditCutImageId, "EDIT_CUT_IMAGE", "EDIT_CUT_IMAGE_ICO" ); - createAction( CutImagesId, "CUT_IMAGES" ); - createAction( EditCutImageId, "EDIT_CUT_IMAGE" ); + createAction( SplitImageId, "SPLIT_IMAGE", "SPLIT_IMAGE_ICO" ); + createAction( EditSplittedImageId, "EDIT_SPLITTED_IMAGE", "EDIT_SPLITTED_IMAGE_ICO" ); - createAction( SplitImageId, "SPLIT_IMAGE" ); - createAction( EditSplittedImageId, "EDIT_SPLITTED_IMAGE" ); + createAction( RecognizeContoursId, "RECOGNIZE_CONTOURS", "RECOGNIZE_CONTOURS_ICO" ); + + createAction( CopyViewerPositionId, "COPY_VIEWER_POSITION", "" ); createAction( DeleteId, "DELETE", "", Qt::Key_Delete, false, 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" ); + + createAction( SubmersibleId, "SUBMERSIBLE", "SUBMERSIBLE_ICO" ); + createAction( ExportPolylineId, "EXPORT_POLYLINE", "EXPORT_POLYLINE_ICO" ); + + createAction( SplitPolylinesId, "SPLIT_POLYLINES", "SPLIT_POLYLINES_ICO" ); + createAction( MergePolylinesId, "MERGE_POLYLINES", "MERGE_POLYLINES_ICO" ); + + createAction( LandCoverScalarMapModeOnId, "LC_SCALARMAP_COLORING_ON" ); + createAction( LandCoverScalarMapModeOffId, "LC_SCALARMAP_COLORING_OFF" ); } void HYDROGUI_Module::createMenus() @@ -180,21 +236,28 @@ 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( 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 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( CreateImmersibleZoneId, anArtificialMenuId, -1, -1 ); - createMenu( CreateStreamId, anArtificialMenuId, -1, -1 ); - - int aNaturalMenuId = createMenu( tr( "MEN_DESK_NATURAL" ), aHydroId, -1 ); - createMenu( CreateChannelId, 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 ); @@ -203,10 +266,14 @@ 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 ); createMenu( separator(), aHydroId ); + createMenu( SplitPolylinesId, aHydroId, -1, -1 ); + createMenu( MergePolylinesId, aHydroId, -1, -1 ); } void HYDROGUI_Module::createPopups() @@ -218,6 +285,48 @@ void HYDROGUI_Module::createToolbars() int aToolBar = createTool( tr( "MEN_DESK_HYDRO" ) ); createTool( UndoId, aToolBar ); createTool( RedoId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( ImportImageId, aToolBar ); + createTool( ImportPolylineId, aToolBar ); + createTool( ImportSinusXId, aToolBar ); + createTool( ExportSinusXId, aToolBar ); + + createTool( ImportBathymetryId, aToolBar ); + createTool( CreatePolylineId, aToolBar ); + createTool( CreatePolyline3DId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( CreateProfileId, aToolBar ); + createTool( ImportProfilesId, aToolBar ); + createTool( AllGeoreferencementId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( CreateChannelId, aToolBar ); + createTool( CreateDigueId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( CreateImmersibleZoneId, aToolBar ); + createTool( CreateStreamId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( ImportObstacleFromFileId, aToolBar ); + createTool( CreateBoxId, aToolBar ); + createTool( CreateCylinderId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( ImportStricklerTableFromFileId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( CreateLandCoverId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( CreateCalculationId, aToolBar ); + + createTool( separator(), aToolBar ); + createTool( FuseImagesId, aToolBar ); + createTool( CutImagesId, aToolBar ); + createTool( SplitImageId, aToolBar ); } void HYDROGUI_Module::createUndoRedoActions() @@ -341,14 +450,27 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const case EditImportedImageId: anOp = new HYDROGUI_ImportImageOp( aModule, theId == EditImportedImageId ); break; + case ImportPolylineId: + anOp = new HYDROGUI_ImportPolylineOp( aModule/*, theId == EditImportedPolylineId*/ ); + break; + case ImportSinusXId: + anOp = new HYDROGUI_ImportSinusXOp( aModule ); + break; + case ExportSinusXId: + anOp = new HYDROGUI_ExportSinusXOp( aModule ); + break; case ObserveImageId: anOp = new HYDROGUI_ObserveImageOp( aModule ); break; case ExportImageId: anOp = new HYDROGUI_ExportImageOp( aModule ); break; - case UpdateImageId: - anOp = new HYDROGUI_UpdateImageOp( aModule ); + case UpdateObjectId: + case ForcedUpdateObjectId: + anOp = new HYDROGUI_UpdateObjectOp( aModule, theId == ForcedUpdateObjectId ); + break; + case ExportPolylineId: + anOp = new HYDROGUI_ExportFileOp( aModule ); break; case RemoveImageRefsId: anOp = new HYDROGUI_RemoveImageRefsOp( aModule ); @@ -365,6 +487,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; @@ -378,6 +503,9 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const case EditImportedBathymetryId: anOp = new HYDROGUI_ImportBathymetryOp( aModule, theId == EditImportedBathymetryId ); break; + case BathymetryBoundsId: + anOp = new HYDROGUI_BathymetryBoundsOp( aModule ); + break; case CreateImmersibleZoneId: case EditImmersibleZoneId: anOp = new HYDROGUI_ImmersibleZoneOp( aModule, theId == EditImmersibleZoneId ); @@ -390,6 +518,22 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const case EditChannelId: anOp = new HYDROGUI_ChannelOp( aModule, theId == EditChannelId ); break; + case CreateDigueId: + case EditDigueId: + anOp = new HYDROGUI_DigueOp( aModule, theId == EditDigueId ); + break; + case ImportStricklerTableFromFileId: + case ExportStricklerTableFromFileId: + case EditStricklerTableId: + anOp = new HYDROGUI_StricklerTableOp( aModule, theId ); + break; + case CreateLandCoverId: + case EditLandCoverId: + anOp = new HYDROGUI_LandCoverOp( aModule, theId == EditLandCoverId ); + break; + case DuplicateStricklerTableId: + anOp = new HYDROGUI_DuplicateOp( aModule ); + break; case CreateCalculationId: case EditCalculationId: anOp = new HYDROGUI_CalculationOp( aModule, theId == EditCalculationId ); @@ -412,17 +556,25 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const case ImportObstacleFromFileId: anOp = new HYDROGUI_ImportObstacleFromFileOp( aModule ); break; - case ImportCreatedPrimitiveId: - anOp = new HYDROGUI_ImportGeomObjectOp( aModule, HYDROGUI_ImportGeomObjectOp::ImportCreated ); + case ImportGeomObjectAsObstacleId: + anOp = new HYDROGUI_ImportGeomObjectOp( aModule, HYDROGUI_ImportGeomObjectOp::ImportSelectedAsObstacle ); break; - case ImportGeomObjectId: - anOp = new HYDROGUI_ImportGeomObjectOp( aModule, HYDROGUI_ImportGeomObjectOp::ImportSelected ); + case ImportGeomObjectAsPolylineId: + anOp = new HYDROGUI_ImportGeomObjectOp( aModule, HYDROGUI_ImportGeomObjectOp::ImportSelectedAsPolyline ); break; case CreateBoxId: - application()->activateOperation( "Geometry", GEOMOp::OpBox ); + anOp = new HYDROGUI_ImportGeomObjectOp( aModule, + HYDROGUI_ImportGeomObjectOp::ImportCreatedAsObstacle, GEOMOp::OpBox ); break; case CreateCylinderId: - application()->activateOperation( "Geometry", GEOMOp::OpCylinder ); + 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; case DeleteId: anOp = new HYDROGUI_DeleteOp( aModule ); @@ -430,6 +582,19 @@ 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 RecognizeContoursId: + anOp = new HYDROGUI_RecognizeContoursOp( aModule ); + break; case ShowId: case ShowOnlyId: case ShowAllId: @@ -437,6 +602,19 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const case HideAllId: anOp = new HYDROGUI_ShowHideOp( aModule, theId ); break; + case SubmersibleId: + anOp = new HYDROGUI_SubmersibleOp( aModule ); + break; + case SplitPolylinesId: + anOp = new HYDROGUI_SplitPolylinesOp( aModule ); + break; + case MergePolylinesId: + anOp = new HYDROGUI_MergePolylinesOp( aModule ); + break; + case LandCoverScalarMapModeOnId: + case LandCoverScalarMapModeOffId: + anOp = new HYDROGUI_LandCoverColoringOp( aModule, theId ); + break; } if( !anOp ) @@ -447,42 +625,14 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const bool HYDROGUI_Module::reusableOperation( const int id ) { - if ( id == ImportGeomObjectId ) { + if ( id == ImportGeomObjectAsObstacleId || + id == ImportGeomObjectAsPolylineId ) { return false; } return LightApp_Module::reusableOperation( id ); } -/** - * Called when the operation perfomed by another module is finished. - * \param theModuleName the name of the module which perfomed the operation - * \param theOperationName the operation name - * \param theEntryList the list of the created objects entries - */ -void HYDROGUI_Module::onExternalOperationFinished( const QString& theModuleName, - const QString& theOperationName, - const QStringList& theEntryList ) -{ - // Process "Geometry" module operations with non-empty list of created objects only - if ( theModuleName != "Geometry" || theEntryList.isEmpty() ) { - return; - } - - // Start import GEOM object operation - myGeomObjectsToImport = theEntryList; - startOperation( ImportCreatedPrimitiveId ); - myGeomObjectsToImport.clear(); -} - -/** - * Returns the list of entries of GEOM objects to be imported. - */ -QStringList HYDROGUI_Module::GetGeomObjectsToImport() -{ - return myGeomObjectsToImport; -} - /** * Returns true if the object with the given entry can be renamed. * @param theEntry the object entry @@ -501,8 +651,8 @@ bool HYDROGUI_Module::renameAllowed( const QString& theEntry ) const bool HYDROGUI_Module::renameObject( const QString& theEntry, const QString& theName ) { Handle(HYDROData_Entity) anEntity = getDataModel()->objectByEntry( theEntry ); - bool aRes = !anEntity.IsNull(); - if ( aRes ) + bool aRes = false; + if ( !anEntity.IsNull() ) { HYDROGUI_DataModel* aModel = getDataModel(); if( aModel ) @@ -511,10 +661,18 @@ bool HYDROGUI_Module::renameObject( const QString& theEntry, const QString& theN { // check that there are no other objects with the same name in the document Handle(HYDROData_Entity) anObject = HYDROGUI_Tool::FindObjectByName( this, theName ); - aRes = anObject.IsNull(); - if ( aRes ) + if ( anObject.IsNull() ) { - aRes = aModel->rename( anEntity, theName ); + SUIT_Operation* anOp = application()->activeStudy()->activeOperation(); + if ( anOp && anOp->inherits( "HYDROGUI_CalculationOp" ) ) + { + anEntity->SetName( theName ); + aRes = true; + } + else + { + aRes = aModel->rename( anEntity, theName ); + } } else {