X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FHYDROGUI%2FHYDROGUI_Operations.cxx;h=233cddba4fe986dcef15016fe8defc5bd674d7cd;hb=902f7fd2408dda7bec3b9cc407cf476319871b6b;hp=0378857cad988d630d31302ab8ca41267e7eeaeb;hpb=7e825ec456c9331ef0df1cb59865cc55f0d8516a;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Operations.cxx b/src/HYDROGUI/HYDROGUI_Operations.cxx index 0378857c..233cddba 100644 --- a/src/HYDROGUI/HYDROGUI_Operations.cxx +++ b/src/HYDROGUI/HYDROGUI_Operations.cxx @@ -33,6 +33,8 @@ #include "HYDROGUI_Module.h" #include "HYDROGUI_ObserveImageOp.h" #include "HYDROGUI_PolylineOp.h" +#include "HYDROGUI_Poly3DOp.h" +#include "HYDROGUI_ProfileOp.h" #include "HYDROGUI_RemoveImageRefsOp.h" #include "HYDROGUI_ShowHideOp.h" #include "HYDROData_SplitToZonesTool.h" @@ -44,6 +46,9 @@ #include "HYDROGUI_ImportGeomObjectOp.h" #include "HYDROGUI_ImportObstacleFromFileOp.h" #include "HYDROGUI_ExportCalculationOp.h" +#include "HYDROGUI_ImportProfilesOp.h" +#include "HYDROGUI_GeoreferencementOp.h" +#include "HYDROGUI_SetColorOp.h" #include "HYDROData_Document.h" #include "HYDROData_Obstacle.h" @@ -103,6 +108,15 @@ void HYDROGUI_Module::createActions() createAction( CreatePolylineId, "CREATE_POLYLINE" ); createAction( EditPolylineId, "EDIT_POLYLINE" ); + createAction( CreatePolyline3DId, "CREATE_POLYLINE_3D" ); + createAction( EditPolyline3DId, "EDIT_POLYLINE_3D" ); + + createAction( CreateProfileId, "CREATE_PROFILE" ); + createAction( ImportProfilesId, "IMPORT_PROFILES" ); + createAction( EditProfileId, "EDIT_PROFILE" ); + createAction( AllGeoreferencementId, "GEOREFERENCEMENT" ); + createAction( SelectedGeoreferencementId, "GEOREFERENCEMENT" ); + createAction( ImportBathymetryId, "IMPORT_BATHYMETRY", "", Qt::CTRL + Qt::Key_B ); createAction( CreateImmersibleZoneId, "CREATE_IMMERSIBLE_ZONE" ); @@ -126,7 +140,10 @@ void HYDROGUI_Module::createActions() createAction( SplitImageId, "SPLIT_IMAGE" ); createAction( EditSplittedImageId, "EDIT_SPLITTED_IMAGE" ); - createAction( DeleteId, "DELETE", "", Qt::Key_Delete ); + createAction( DeleteId, "DELETE", "", Qt::Key_Delete, false, + SLOT( onDelete() ) ); + + createAction( SetColorId, "COLOR" ); createAction( ShowId, "SHOW" ); createAction( ShowOnlyId, "SHOW_ONLY" ); @@ -154,6 +171,13 @@ void HYDROGUI_Module::createMenus() createMenu( ImportImageId, aHydroId, -1, -1 ); createMenu( ImportBathymetryId, aHydroId, -1, -1 ); createMenu( CreatePolylineId, aHydroId, -1, -1 ); + createMenu( CreatePolyline3DId, aHydroId, -1, -1 ); + + int aNewProfileId = createMenu( tr( "MEN_PROFILE" ), aHydroId, -1 ); + createMenu( CreateProfileId, aNewProfileId, -1, -1 ); + createMenu( ImportProfilesId, aNewProfileId, -1, -1 ); + createMenu( AllGeoreferencementId, aNewProfileId, -1, -1 ); + createMenu( CreateImmersibleZoneId, aHydroId, -1, -1 ); int aNewObstacleId = createMenu( tr( "MEN_OBSTACLE" ), aHydroId, -1 ); @@ -229,6 +253,16 @@ void HYDROGUI_Module::onOperation() startOperation( anId ); } +void HYDROGUI_Module::onDelete() +{ + SUIT_Operation* anOp = application()->activeStudy()->activeOperation(); + HYDROGUI_PolylineOp* aPolylineOp = dynamic_cast( anOp ); + if ( aPolylineOp && aPolylineOp->deleteEnabled() ) + aPolylineOp->deleteSelected(); + else + startOperation( DeleteId ); +} + bool HYDROGUI_Module::onUndo( int theNumActions ) { QApplication::setOverrideCursor( Qt::WaitCursor ); @@ -303,10 +337,27 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const case RemoveImageRefsId: anOp = new HYDROGUI_RemoveImageRefsOp( aModule ); break; + case CreatePolyline3DId: + case EditPolyline3DId: + anOp = new HYDROGUI_Poly3DOp( aModule, theId == EditPolyline3DId ); + break; case CreatePolylineId: case EditPolylineId: anOp = new HYDROGUI_PolylineOp( aModule, theId == EditPolylineId ); break; + case CreateProfileId: + case EditProfileId: + anOp = new HYDROGUI_ProfileOp( aModule, theId == EditProfileId ); + break; + case ImportProfilesId: + anOp = new HYDROGUI_ImportProfilesOp( aModule ) ; + break; + case AllGeoreferencementId: + anOp = new HYDROGUI_GeoreferencementOp( aModule, HYDROGUI_GeoreferencementOp::All ) ; + break; + case SelectedGeoreferencementId: + anOp = new HYDROGUI_GeoreferencementOp( aModule, HYDROGUI_GeoreferencementOp::Selected ) ; + break; case ImportBathymetryId: anOp = new HYDROGUI_ImportBathymetryOp( aModule ); break; @@ -351,6 +402,9 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const case DeleteId: anOp = new HYDROGUI_DeleteOp( aModule ); break; + case SetColorId: + anOp = new HYDROGUI_SetColorOp( aModule ); + break; case ShowId: case ShowOnlyId: case ShowAllId: @@ -392,7 +446,7 @@ void HYDROGUI_Module::onExternalOperationFinished( const QString& theModuleName, // Start import GEOM object operation myGeomObjectsToImport = theEntryList; - startOperation ( ImportCreatedPrimitiveId ); + startOperation( ImportCreatedPrimitiveId ); myGeomObjectsToImport.clear(); }