X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_Operations.cxx;h=08aa0d8fb8f6664d577d65c784dac5517cbf6bf6;hb=de7cf9bb0a7a41d6487013c87f4a54d0664cd303;hp=de4b15ab8d243eddb1fc0c2591fab383820b3332;hpb=ea51c1575cfdc7e3ad0b8cc1db55d9d83626b12d;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_Operations.cxx b/src/HYDROGUI/HYDROGUI_Operations.cxx index de4b15ab..08aa0d8f 100644 --- a/src/HYDROGUI/HYDROGUI_Operations.cxx +++ b/src/HYDROGUI/HYDROGUI_Operations.cxx @@ -22,11 +22,24 @@ #include "HYDROGUI_Operations.h" +#include "HYDROGUI_CopyPasteOp.h" +#include "HYDROGUI_CalculationOp.h" #include "HYDROGUI_DataModel.h" +#include "HYDROGUI_DeleteOp.h" +#include "HYDROGUI_ExportImageOp.h" #include "HYDROGUI_ImportImageOp.h" +#include "HYDROGUI_ImportBathymetryOp.h" +#include "HYDROGUI_ImmersibleZoneOp.h" #include "HYDROGUI_Module.h" +#include "HYDROGUI_ObserveImageOp.h" +#include "HYDROGUI_PolylineOp.h" +#include "HYDROGUI_RemoveImageRefsOp.h" +#include "HYDROGUI_ShowHideOp.h" +#include "HYDROData_SplitToZonesTool.h" #include "HYDROGUI_TwoImagesOp.h" #include "HYDROGUI_UpdateFlags.h" +#include "HYDROGUI_UpdateImageOp.h" +#include "HYDROGUI_VisualStateOp.h" #include @@ -59,22 +72,73 @@ QAction* HYDROGUI_Module::createAction( const int theId, const QString& theSuffi 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( FuseId, "FUSE_IMAGES" ); - createAction( CutId, "CUT_IMAGES" ); + createAction( EditImportedImageId, "EDIT_IMPORTED_IMAGE" ); + createAction( ObserveImageId, "OBSERVE_IMAGE" ); + createAction( ExportImageId, "EXPORT_IMAGE" ); + createAction( UpdateImageId, "UPDATE_IMAGE" ); + createAction( RemoveImageRefsId, "REMOVE_IMAGE_REFERENCE" ); + + createAction( CreatePolylineId, "CREATE_POLYLINE" ); + createAction( EditPolylineId, "EDIT_POLYLINE" ); + + createAction( ImportBathymetryId, "IMPORT_BATHYMETRY", "", Qt::CTRL + Qt::Key_B ); + + createAction( CreateImmersibleZoneId, "CREATE_IMMERSIBLE_ZONE" ); + createAction( EditImmersibleZoneId, "EDIT_IMMERSIBLE_ZONE" ); + + createAction( CreateCalculationId, "CREATE_CALCULATION" ); + createAction( EditCalculationId, "EDIT_CALCULATION" ); + + createAction( FuseImagesId, "FUSE_IMAGES" ); + createAction( EditFusedImageId, "EDIT_FUSED_IMAGE" ); + + createAction( CutImagesId, "CUT_IMAGES" ); + createAction( EditCutImageId, "EDIT_CUT_IMAGE" ); + + createAction( SplitImageId, "SPLIT_IMAGE" ); + createAction( EditSplittedImageId, "EDIT_SPLITTED_IMAGE" ); + + createAction( DeleteId, "DELETE", "", Qt::Key_Delete ); + + createAction( ShowId, "SHOW" ); + createAction( ShowOnlyId, "SHOW_ONLY" ); + createAction( ShowAllId, "SHOW_ALL" ); + createAction( HideId, "HIDE" ); + createAction( HideAllId, "HIDE_ALL" ); } void HYDROGUI_Module::createMenus() { + int aFileMenu = createMenu( tr( "MEN_DESK_FILE" ), -1, -1, 0 ); + int aCustomPos = 5; // to insert custom actions after "Save as" and before "Preferences" + createMenu( SaveVisualStateId, aFileMenu, aCustomPos ); + createMenu( separator(), aFileMenu, -1, aCustomPos ); + 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( FuseId, aHydroId, -1, -1 ); - createMenu( CutId, aHydroId, -1, -1 ); + createMenu( ImportBathymetryId, aHydroId, -1, -1 ); + createMenu( CreatePolylineId, aHydroId, -1, -1 ); + createMenu( CreateImmersibleZoneId, 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 ); } void HYDROGUI_Module::createPopups() @@ -83,7 +147,7 @@ void HYDROGUI_Module::createPopups() void HYDROGUI_Module::createToolbars() { - int aToolBar = createTool( tr( "HYDRO_TOOLBAR" ) ); + int aToolBar = createTool( tr( "MEN_DESK_HYDRO" ) ); createTool( UndoId, aToolBar ); createTool( RedoId, aToolBar ); } @@ -153,7 +217,7 @@ bool HYDROGUI_Module::onUndo( int theNumActions ) } theNumActions--; } - update( UF_All | UF_GV_Init | UF_GV_Forced ); + update( UF_All ); } QApplication::restoreOverrideCursor(); return anIsOk; @@ -175,7 +239,7 @@ bool HYDROGUI_Module::onRedo( int theNumActions ) } theNumActions--; } - update( UF_All | UF_GV_Init | UF_GV_Forced ); + update( UF_All ); } QApplication::restoreOverrideCursor(); return anIsOk; @@ -187,14 +251,66 @@ LightApp_Operation* HYDROGUI_Module::createOperation( const int theId ) const HYDROGUI_Module* aModule = const_cast( this ); switch( theId ) { + case SaveVisualStateId: + case LoadVisualStateId: + anOp = new HYDROGUI_VisualStateOp( aModule, theId == LoadVisualStateId ); + break; + case CopyId: + case PasteId: + anOp = new HYDROGUI_CopyPasteOp( aModule, theId == PasteId ); + break; case ImportImageId: - anOp = new HYDROGUI_ImportImageOp( aModule ); + case EditImportedImageId: + anOp = new HYDROGUI_ImportImageOp( aModule, theId == EditImportedImageId ); + break; + case ObserveImageId: + anOp = new HYDROGUI_ObserveImageOp( aModule ); + break; + case ExportImageId: + anOp = new HYDROGUI_ExportImageOp( aModule ); + break; + case UpdateImageId: + anOp = new HYDROGUI_UpdateImageOp( aModule ); + break; + case RemoveImageRefsId: + anOp = new HYDROGUI_RemoveImageRefsOp( aModule ); + break; + case CreatePolylineId: + case EditPolylineId: + anOp = new HYDROGUI_PolylineOp( aModule, theId == EditPolylineId ); + break; + case ImportBathymetryId: + anOp = new HYDROGUI_ImportBathymetryOp( aModule ); + break; + case CreateImmersibleZoneId: + case EditImmersibleZoneId: + anOp = new HYDROGUI_ImmersibleZoneOp( aModule, theId == EditImmersibleZoneId ); + break; + case CreateCalculationId: + case EditCalculationId: + anOp = new HYDROGUI_CalculationOp( aModule, theId == EditCalculationId ); + break; + case FuseImagesId: + case EditFusedImageId: + anOp = new HYDROGUI_TwoImagesOp( aModule, HYDROGUI_TwoImagesOp::Fuse, theId == EditFusedImageId ); + break; + case CutImagesId: + case EditCutImageId: + 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 ); break; - case FuseId: - anOp = new HYDROGUI_TwoImagesOp( aModule, HYDROGUI_TwoImagesOp::Fuse ); + case DeleteId: + anOp = new HYDROGUI_DeleteOp( aModule ); break; - case CutId: - anOp = new HYDROGUI_TwoImagesOp( aModule, HYDROGUI_TwoImagesOp::Cut ); + case ShowId: + case ShowOnlyId: + case ShowAllId: + case HideId: + case HideAllId: + anOp = new HYDROGUI_ShowHideOp( aModule, theId ); break; }