X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Operations.cxx;h=8371e64d1dbe85ea64a6e5e8dee481e4aaab7d7a;hb=d37ac478f4055b8698aa200b8878af2cb6af5e45;hp=5641a2c4ff77ae5bd642b73bee912d789f5b7fb9;hpb=f169205c4f5f2d077a35ba9e1db8f143fbba70c3;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Operations.cxx b/src/HYDROGUI/HYDROGUI_Operations.cxx index 5641a2c4..8371e64d 100644 --- a/src/HYDROGUI/HYDROGUI_Operations.cxx +++ b/src/HYDROGUI/HYDROGUI_Operations.cxx @@ -53,7 +53,7 @@ #include "HYDROGUI_GeoreferencementOp.h" #include "HYDROGUI_SetColorOp.h" #include "HYDROGUI_BathymetryBoundsOp.h" -#include "HYDROGUI_Tool.h" +#include "HYDROGUI_Tool2.h" #include "HYDROGUI_ZLevelsOp.h" #include "HYDROGUI_LocalCSOp.h" #include "HYDROGUI_RiverBottomOp.h" @@ -62,19 +62,20 @@ #include "HYDROGUI_SubmersibleOp.h" #include "HYDROGUI_StricklerTableOp.h" #include "HYDROGUI_DuplicateOp.h" -// TODO -//#include "HYDROGUI_LandCoverMapOp.h" +#include "HYDROGUI_LandCoverMapOp.h" #include "HYDROGUI_PolylineExtractionOp.h" #include "HYDROGUI_ExportSinusXOp.h" #include "HYDROGUI_MergePolylinesOp.h" #include "HYDROGUI_SplitPolylinesOp.h" #include "HYDROGUI_LandCoverColoringOp.h" -// TODO -//#include "HYDROGUI_ImportLandCoverMapOp.h" +#include "HYDROGUI_SetTransparencyOp.h" + +#include "HYDROGUI_ImportLandCoverMapOp.h" #include #include #include +#include #include #include @@ -176,6 +177,7 @@ void HYDROGUI_Module::createActions() createAction( RemoveLandCoverId, "REMOVE_LAND_COVER", "REMOVE_LAND_COVER_ICO" ); createAction( SplitLandCoverId, "SPLIT_LAND_COVER", "SPLIT_LAND_COVER_ICO" ); createAction( MergeLandCoverId, "MERGE_LAND_COVER", "MERGE_LAND_COVER_ICO" ); + createAction( ChangeLandCoverTypeId, "CHANGE_LAND_COVER_TYPE", "CHANGE_LAND_COVER_TYPE_ICO" ); createAction( ImportObstacleFromFileId, "IMPORT_OBSTACLE_FROM_FILE", "IMPORT_OBSTACLE_FROM_FILE_ICO" ); createAction( ImportGeomObjectAsObstacleId, "IMPORT_GEOM_OBJECT_AS_OBSTACLE", "IMPORT_GEOM_OBJECT_ICO" ); @@ -195,7 +197,7 @@ void HYDROGUI_Module::createActions() createAction( EditCutImageId, "EDIT_CUT_IMAGE", "EDIT_CUT_IMAGE_ICO" ); createAction( SplitImageId, "SPLIT_IMAGE", "SPLIT_IMAGE_ICO" ); - createAction( EditSplittedImageId, "EDIT_SPLITTED_IMAGE", "EDIT_SPLITTED_IMAGE_ICO" ); + createAction( EditSplitImageId, "EDIT_SPLIT_IMAGE", "EDIT_SPLIT_IMAGE_ICO" ); createAction( RecognizeContoursId, "RECOGNIZE_CONTOURS", "RECOGNIZE_CONTOURS_ICO" ); @@ -205,6 +207,7 @@ void HYDROGUI_Module::createActions() SLOT( onDelete() ) ); createAction( SetColorId, "COLOR" ); + createAction( SetTransparencyId, "TRANSPARENCY" ); createAction( SetZLevelId, "ZLEVEL" ); createAction( EditLocalCSId, "EDIT_LOCAL_CS" ); @@ -246,19 +249,18 @@ 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( ImportSinusXId, aHydroId, -1, -1 ); - createMenu( ExportSinusXId, aHydroId, -1, -1 ); - createMenu( ImportLandCoverMapId, aHydroId, -1, -1 ); + createMenu( ExportSinusXId, aHydroId, -1, -1 ); createMenu( ImportBathymetryId, aHydroId, -1, -1 ); createMenu( ImportStricklerTableFromFileId, aHydroId, -1, -1 ); createMenu( CreatePolyline3DId, aHydroId, -1, -1 ); createMenu( CreateImmersibleZoneId, aHydroId, -1, -1 ); createMenu( CreateChannelId, aHydroId, -1, -1 ); - createMenu( CreateDigueId, aHydroId, -1, -1 ); - createMenu( CreateLandCoverMapId, aHydroId, -1, -1 ); + createMenu( CreateDigueId, aHydroId, -1, -1 ); int aNewImageId = createMenu( tr( "MEN_DESK_IMAGE" ), aHydroId, -1 ); createMenu( ImportImageId, aNewImageId, -1, -1 ); + createMenu( separator(), aNewImageId ); createMenu( FuseImagesId, aNewImageId, -1, -1 ); createMenu( CutImagesId, aNewImageId, -1, -1 ); createMenu( SplitImageId, aNewImageId, -1, -1 ); @@ -266,24 +268,39 @@ void HYDROGUI_Module::createMenus() int aNewPolylineId = createMenu( tr( "MEN_DESK_POLYLINE" ), aHydroId, -1 ); createMenu( ImportPolylineId, aNewPolylineId, -1, -1 ); createMenu( CreatePolylineId, aNewPolylineId, -1, -1 ); + createMenu( separator(), aNewPolylineId ); createMenu( SplitPolylinesId, aNewPolylineId, -1, -1 ); createMenu( MergePolylinesId, aNewPolylineId, -1, -1 ); int aNewProfileId = createMenu( tr( "MEN_DESK_PROFILE" ), aHydroId, -1 ); createMenu( CreateProfileId, aNewProfileId, -1, -1 ); createMenu( ImportProfilesId, aNewProfileId, -1, -1 ); + createMenu( separator(), aNewProfileId ); createMenu( AllGeoreferencementId, aNewProfileId, -1, -1 ); int aStreamMenuId = createMenu( tr( "MEN_DESK_STREAM" ), aHydroId, -1 ); createMenu( CreateStreamId, aStreamMenuId, -1, -1 ); + createMenu( separator(), aStreamMenuId ); createMenu( RiverBottomId, aStreamMenuId, -1, -1 ); createMenu( ProfileInterpolateId, aStreamMenuId, -1, -1 ); int anObstacleMenuId = createMenu( tr( "MEN_DESK_OBSTACLE" ), aHydroId, -1 ); createMenu( ImportObstacleFromFileId, anObstacleMenuId, -1, -1 ); + createMenu( separator(), anObstacleMenuId ); createMenu( CreateBoxId, anObstacleMenuId, -1, -1 ); createMenu( CreateCylinderId, anObstacleMenuId, -1, -1 ); + int aLandCoverMapMenuId = createMenu( tr( "MEN_DESK_LAND_COVER_MAP" ), aHydroId, -1 ); + createMenu( ImportLandCoverMapId, aLandCoverMapMenuId, -1, -1 ); + createMenu( CreateLandCoverMapId, aLandCoverMapMenuId, -1, -1 ); + createMenu( separator(), aLandCoverMapMenuId ); + createMenu( AddLandCoverId, aLandCoverMapMenuId, -1, -1 ); + createMenu( RemoveLandCoverId, aLandCoverMapMenuId, -1, -1 ); + createMenu( separator(), aLandCoverMapMenuId ); + createMenu( SplitLandCoverId, aLandCoverMapMenuId, -1, -1 ); + createMenu( MergeLandCoverId, aLandCoverMapMenuId, -1, -1 ); + createMenu( ChangeLandCoverTypeId, aLandCoverMapMenuId, -1, -1 ); + createMenu( CreateCalculationId, aHydroId, -1, -1 ); createMenu( separator(), aHydroId ); createMenu( EditLocalCSId, aHydroId, -1, -1 ); @@ -334,6 +351,12 @@ void HYDROGUI_Module::createToolbars() createTool( separator(), aToolBar ); createTool( CreateLandCoverMapId, aToolBar ); + createTool( AddLandCoverId, aToolBar ); + createTool( RemoveLandCoverId, aToolBar ); + createTool( SplitLandCoverId, aToolBar ); + createTool( MergeLandCoverId, aToolBar ); + createTool( ChangeLandCoverTypeId, aToolBar ); + enableLCMActions(); createTool( separator(), aToolBar ); createTool( CreateCalculationId, aToolBar ); @@ -385,6 +408,24 @@ void HYDROGUI_Module::updateUndoRedoControls() aRedoAction->setEnabled( aCanRedo ); } +void HYDROGUI_Module::enableLCMActions() +{ + HYDROData_Iterator anIt( HYDROData_Document::Document( getStudyId() ), KIND_LAND_COVER_MAP ); + bool anEnableTools = anIt.More(); + + QtxListAction* anAction; + anAction = (QtxListAction*)action( AddLandCoverId ); + if ( anAction ) anAction->setEnabled( anEnableTools ); + anAction = (QtxListAction*)action( RemoveLandCoverId ); + if ( anAction ) anAction->setEnabled( anEnableTools ); + anAction = (QtxListAction*)action( SplitLandCoverId ); + if ( anAction ) anAction->setEnabled( anEnableTools ); + anAction = (QtxListAction*)action( MergeLandCoverId ); + if ( anAction ) anAction->setEnabled( anEnableTools ); + anAction = (QtxListAction*)action( ChangeLandCoverTypeId ); + if ( anAction ) anAction->setEnabled( anEnableTools ); +} + void HYDROGUI_Module::onOperation() { const QAction* anAction = dynamic_cast( sender() ); @@ -488,8 +529,7 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const anOp = new HYDROGUI_ExportFileOp( aModule ); break; case ImportLandCoverMapId: - // TODO - //anOp = new HYDROGUI_ImportLandCoverMapOp( aModule ); + anOp = new HYDROGUI_ImportLandCoverMapOp( aModule ); break; case RemoveImageRefsId: anOp = new HYDROGUI_RemoveImageRefsOp( aModule ); @@ -547,20 +587,12 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const anOp = new HYDROGUI_StricklerTableOp( aModule, theId ); break; case CreateLandCoverMapId: - // TODO - //anOp = new HYDROGUI_LandCoverMapOp( aModule, theId == EditLandCoverMapId ); - break; case AddLandCoverId: - // TODO - break; case RemoveLandCoverId: - // TODO - break; case SplitLandCoverId: - // TODO - break; case MergeLandCoverId: - // TODO + case ChangeLandCoverTypeId: + anOp = new HYDROGUI_LandCoverMapOp( aModule, theId ); break; case DuplicateStricklerTableId: anOp = new HYDROGUI_DuplicateOp( aModule ); @@ -581,8 +613,8 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const anOp = new HYDROGUI_TwoImagesOp( aModule, HYDROGUI_TwoImagesOp::Cut, theId == EditCutImageId ); break; case SplitImageId: - case EditSplittedImageId: - anOp = new HYDROGUI_TwoImagesOp( aModule, HYDROGUI_TwoImagesOp::Split, theId == EditSplittedImageId ); + case EditSplitImageId: + anOp = new HYDROGUI_TwoImagesOp( aModule, HYDROGUI_TwoImagesOp::Split, theId == EditSplitImageId ); break; case ImportObstacleFromFileId: anOp = new HYDROGUI_ImportObstacleFromFileOp( aModule ); @@ -613,6 +645,9 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const case SetColorId: anOp = new HYDROGUI_SetColorOp( aModule ); break; + case SetTransparencyId: + anOp = new HYDROGUI_SetTransparencyOp( aModule ); + break; case SetZLevelId: anOp = new HYDROGUI_ZLevelsOp( aModule ); break;