+ //create the new one
+ if (isFuseIntoOneOption)
+ {
+ Handle(HYDROData_Bathymetry) aBathymetryObj = Handle(HYDROData_Bathymetry)::DownCast( doc()->CreateObject( KIND_BATHYMETRY ) );
+ if ( aBathymetryObj.IsNull() )
+ return false;
+ aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes, false );
+ if ( !aBathymetryObj->ImportFromFiles( aFileNames ) )
+ {
+ theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILE" ).arg( aFileNames.join("\n") );
+ return false;
+ }
+
+ QString aNewObjName;
+ if (CheckNameExistingBathy(anObjectName, aNewObjName))
+ {
+ aBathymetryObj->SetName( aNewObjName );
+ replacemWarn += "\n'" + anObjectName + "' => '" + aNewObjName + "'";
+ }
+ else
+ aBathymetryObj->SetName( anObjectName );
+
+ aBathymetryObj->SetName( anObjectName );
+ aBathymetryObj->Update();
+ QString anEntry = HYDROGUI_DataObject::dataObjectEntry( aBathymetryObj );
+ theBrowseObjectsEntries.append( anEntry );
+ }
+ else //myedit off + non-fuse => import separate files
+ {
+ bool AtLeastOneWasImported = false;
+ foreach (QString filename, aFileNames)
+ {
+ Handle(HYDROData_Bathymetry) aBathymetryObj = Handle(HYDROData_Bathymetry)::DownCast( doc()->CreateObject( KIND_BATHYMETRY ) );
+ if ( aBathymetryObj.IsNull() )
+ continue;
+ aBathymetryObj->SetAltitudesInverted( anIsInvertAltitudes, false );
+ if ( !aBathymetryObj->ImportFromFiles( QStringList(filename) ) )
+ {
+ UnreadFilesWarn += "\n" + filename;
+ continue;
+ }
+
+ QString anObjectName = QFileInfo( filename ).baseName();
+ QString aNewObjName;
+ if (CheckNameExistingBathy(anObjectName, aNewObjName))
+ {
+ aBathymetryObj->SetName( aNewObjName );
+ replacemWarn += "\n'" + anObjectName + "' => '" + aNewObjName + "'";
+ }
+ else
+ aBathymetryObj->SetName( anObjectName );
+
+ AtLeastOneWasImported = true;
+ aBathymetryObj->Update();
+ QString anEntry = HYDROGUI_DataObject::dataObjectEntry( aBathymetryObj );
+ theBrowseObjectsEntries.append( anEntry );
+ }
+ if (!AtLeastOneWasImported)
+ {
+ theErrorMsg = tr( "BAD_IMPORTED_BATHYMETRY_FILES" ).arg( aFileNames.join("\n") );
+ return false;
+ }
+ }