X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;f=src%2FHYDROGUI%2FHYDROGUI_ImportBathymetryOp.cxx;h=fb8e663a1bf1d02ec1cdaf8eb85a6b3ad94adc63;hb=d6e19029f8b41f295db878e9aecf451c2edda4af;hp=9dacc3704211c9bdc78da61a3a7561ddc5a1b2bb;hpb=7677192227ae6d384a9b870fa76e60f5ec700c25;p=modules%2Fhydro.git diff --git a/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx b/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx index 9dacc370..fb8e663a 100644 --- a/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx +++ b/src/HYDROGUI/HYDROGUI_ImportBathymetryOp.cxx @@ -1,12 +1,8 @@ -// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE -// -// Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, -// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS -// +// Copyright (C) 2014-2015 EDF-R&D // This library is free software; you can redistribute it and/or // modify it under the terms of the GNU Lesser General Public // License as published by the Free Software Foundation; either -// version 2.1 of the License. +// version 2.1 of the License, or (at your option) any later version. // // This library is distributed in the hope that it will be useful, // but WITHOUT ANY WARRANTY; without even the implied warranty of @@ -23,6 +19,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" @@ -62,11 +59,12 @@ void HYDROGUI_ImportBathymetryOp::startOperation() if( myIsEdit ) { - myEditedObject = Handle(HYDROData_Bathymetry)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) ); + if ( isApplyAndClose() ) + myEditedObject = Handle(HYDROData_Bathymetry)::DownCast( HYDROGUI_Tool::GetSelectedObject( module() ) ); 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 ); @@ -96,7 +94,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() ); @@ -150,11 +149,11 @@ bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, if ( aBathymetryObj.IsNull() ) return false; - QString anOldFileName = aBathymetryObj->GetFilePath(); + QString anOldFileName = HYDROGUI_Tool::ToQString( aBathymetryObj->GetFilePath() ); if ( aFileName != anOldFileName ) { aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes, false ); - if ( !aBathymetryObj->ImportFromFile( aFileName ) ) + if ( !aBathymetryObj->ImportFromFile( HYDROGUI_Tool::ToAsciiString( aFileName ) ) ) { theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILE" ).arg( aFileName ); return false; @@ -184,6 +183,8 @@ bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, aVTKMgr = module()->getApp()->viewManager( SVTK_Viewer::Type() ); } } + + /* // If there is no VTK viewer yet then create a new one if ( !aVTKMgr ) { @@ -193,9 +194,17 @@ bool HYDROGUI_ImportBathymetryOp::processApply( int& theUpdateFlags, if ( aVTKMgr ) { module()->setObjectVisible( (size_t)aVTKMgr->getViewModel(), aBathymetryObj, true ); + }*/ + + theUpdateFlags = UF_Model | UF_OCCViewer | UF_OCC_Forced | + UF_VTKViewer | UF_VTK_Forced; + + if( !myIsEdit ) + { + QString anEntry = HYDROGUI_DataObject::dataObjectEntry( aBathymetryObj ); + theBrowseObjectsEntries.append( anEntry ); } - theUpdateFlags = UF_Model | UF_VTKViewer | UF_VTK_Init | UF_VTK_Forced; return true; } @@ -207,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() ) {