Salome HOME
correct merge BR_hydro_v1_0_3 on BR_quadtree
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImportBathymetryOp.cxx
index ad2cc3dfea2b4b712c650f138b47dce8f0471a2d..b7772dd61cbe5a571f84208b0d112adb1104ca7f 100644 (file)
@@ -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,7 +67,7 @@ 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 );
@@ -96,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<HYDROGUI_ImportBathymetryDlg*>( inputPanel() );
@@ -150,11 +152,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 +186,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 +197,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;
 }