X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_ImportBathymetryOp.cxx;h=4e8280554f9db623297af278e8acff78c9f2b1ef;hb=81c9f5cdf82909d0aebd2c491c50fa7516cc80b7;hp=458e2e80bb8368d305a8632b3b5579cfa8683d02;hpb=8a7c7e5abd642e3ccf6f315eb1d745884a39d5c3;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx b/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx index 458e2e80..4e828055 100644 --- a/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx +++ b/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx @@ -23,6 +23,7 @@ #include "HYDROGUI_ImportBathymetryOp.h" #include "HYDROGUI_DataModel.h" +#include "HYDROGUI_DataObject.h" #include "HYDROGUI_ImportBathymetryDlg.h" #include "HYDROGUI_Module.h" #include "HYDROGUI_Tool.h" @@ -66,9 +67,12 @@ void HYDROGUI_ImportBathymetryOp::startOperation() if( !myEditedObject.IsNull() ) { QString aName = myEditedObject->GetName(); - QString aFileName = myEditedObject->GetFilePath(); + QString aFileName = HYDROGUI_Tool::ToQString( myEditedObject->GetFilePath() ); + bool anIsAltitudesInverted = myEditedObject->IsAltitudesInverted(); + aPanel->setObjectName( aName ); aPanel->setFileName( aFileName ); + aPanel->setInvertAltitudes( anIsAltitudesInverted ); } } } @@ -93,7 +97,8 @@ HYDROGUI_InputPanel* HYDROGUI_ImportBathymetryOp::createInputPanel() const } bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, - QString& theErrorMsg ) + QString& theErrorMsg, + QStringList& theBrowseObjectsEntries ) { HYDROGUI_ImportBathymetryDlg* aPanel = ::qobject_cast( inputPanel() ); @@ -108,6 +113,8 @@ bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, } QString aFileName = aPanel->getFileName().simplified(); + bool anIsInvertAltitudes = aPanel->isInvertAltitudes(); + if ( aFileName.isEmpty() ) { theErrorMsg = tr( "INCORRECT_FILE_NAME" ); @@ -145,10 +152,19 @@ bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, if ( aBathymetryObj.IsNull() ) return false; - if ( !aBathymetryObj->ImportFromFile( aFileName ) ) + QString anOldFileName = HYDROGUI_Tool::ToQString( aBathymetryObj->GetFilePath() ); + if ( aFileName != anOldFileName ) { - theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILE" ).arg( aFileName ); - return false; + aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes, false ); + if ( !aBathymetryObj->ImportFromFile( HYDROGUI_Tool::ToAsciiString( aFileName ) ) ) + { + theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILE" ).arg( aFileName ); + return false; + } + } + else if ( anIsInvertAltitudes != aBathymetryObj->IsAltitudesInverted() ) + { + aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes ); } aBathymetryObj->SetName( anObjectName ); @@ -182,6 +198,13 @@ bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, } theUpdateFlags = UF_Model | UF_VTKViewer | UF_VTK_Init | UF_VTK_Forced; + + if( !myIsEdit ) + { + QString anEntry = HYDROGUI_DataObject::dataObjectEntry( aBathymetryObj ); + theBrowseObjectsEntries.append( anEntry ); + } + return true; } @@ -193,7 +216,7 @@ void HYDROGUI_ImportBathymetryOp::onFileSelected() return; QString anObjectName = aPanel->getObjectName().simplified(); - if ( anObjectName.isEmpty() ) + //if ( anObjectName.isEmpty() ) { anObjectName = aPanel->getFileName(); if ( !anObjectName.isEmpty() ) {