X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_ZLevelsOp.cxx;h=3f7c1eaf732e55ca72ae2f5dbaee49911b2edf11;hb=81c9f5cdf82909d0aebd2c491c50fa7516cc80b7;hp=085b8e98a280907be7747f6135e044cdf145529b;hpb=470bdde9364bf1ddbf1c9c0435199380b9e74398;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_ZLevelsOp.cxx b/src/HYDROGUI/HYDROGUI_ZLevelsOp.cxx index 085b8e98..3f7c1eaf 100644 --- a/src/HYDROGUI/HYDROGUI_ZLevelsOp.cxx +++ b/src/HYDROGUI/HYDROGUI_ZLevelsOp.cxx @@ -27,6 +27,7 @@ #include "HYDROGUI_Module.h" #include "HYDROGUI_Tool.h" #include "HYDROGUI_UpdateFlags.h" +#include "HYDROGUI_ListSelector.h" #include @@ -41,7 +42,7 @@ */ HYDROGUI_ZLevelsOp::HYDROGUI_ZLevelsOp( HYDROGUI_Module* theModule ) : HYDROGUI_Operation( theModule ), - myZLevelsDlg( NULL ) + myDlg( NULL ) { setName( tr( "SET_Z_LEVELS" ) ); } @@ -60,7 +61,7 @@ void HYDROGUI_ZLevelsOp::startOperation() HYDROGUI_Operation::startOperation(); // Prepare the list of objects - HYDROGUI_ZLevelsModel::Object2VisibleList anObject2VisibleList; + HYDROGUI_ListModel::Object2VisibleList anObject2VisibleList; // get the document Handle(HYDROData_Document) aDoc = doc(); @@ -75,34 +76,34 @@ void HYDROGUI_ZLevelsOp::startOperation() Handle(HYDROData_Entity) anObject = anIter.Value(); if ( !anObject.IsNull() ) { bool isVisible = module()->isObjectVisible( anActiveOCCViewId, anObject ); - anObject2VisibleList << HYDROGUI_ZLevelsModel::Object2Visible( anObject, isVisible ); + anObject2VisibleList << HYDROGUI_ListModel::Object2Visible( anObject, isVisible ); } } } // Show the dialog - myZLevelsDlg = new HYDROGUI_ZLevelsDlg( module()->getApp()->desktop() ); - myZLevelsDlg->setModal( true ); - myZLevelsDlg->setObjects( anObject2VisibleList ); - - //TODO: check - connect( myZLevelsDlg, SIGNAL( applyOrder() ), this, SLOT( onApply() ) ); - connect( myZLevelsDlg, SIGNAL( rejected() ), this, SLOT( onCancel() ) ); + if ( !myDlg ) { + myDlg = new HYDROGUI_ZLevelsDlg( module()->getApp()->desktop(), module() ); + connect( myDlg, SIGNAL( applyOrder() ), this, SLOT( onApply() ) ); + connect( myDlg, SIGNAL( rejected() ), this, SLOT( onCancel() ) ); + } + myDlg->setObjects( anObject2VisibleList ); - myZLevelsDlg->exec(); + myDlg->exec(); } /** */ bool HYDROGUI_ZLevelsOp::processApply( int& theUpdateFlags, - QString& theErrorMsg ) + QString& theErrorMsg, + QStringList& theBrowseObjectsEntries ) { bool aRes = false; - if ( myZLevelsDlg ) { + if ( myDlg ) { Handle(HYDROData_Document) aDoc = doc(); if( !aDoc.IsNull() ) { - HYDROGUI_ZLevelsModel::ObjectList anObjects = myZLevelsDlg->getObjects(); + HYDROGUI_ListModel::ObjectList anObjects = myDlg->getObjects(); HYDROData_SequenceOfObjects anOrderedObjects; foreach ( const Handle(HYDROData_Entity) anObject, anObjects ) { anOrderedObjects.Append( anObject ); @@ -110,7 +111,7 @@ bool HYDROGUI_ZLevelsOp::processApply( int& theUpdateFlags, aDoc->SetObjectsLayerOrder( anOrderedObjects ); - theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced; + theUpdateFlags = UF_Model | UF_OCCViewer; aRes = true; } } @@ -118,3 +119,20 @@ bool HYDROGUI_ZLevelsOp::processApply( int& theUpdateFlags, return aRes; } +/** +*/ +bool HYDROGUI_ZLevelsOp::isGranted() const +{ + return true; +} + +/** +*/ +void HYDROGUI_ZLevelsOp::processCancel() +{ + // Delete the dialog + if ( myDlg ) { + delete myDlg; + myDlg = 0; + } +} \ No newline at end of file