Salome HOME
LCM // Import/Export of SHP p.6
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImportPolylineOp.cxx
index 7ebba03d59649be171fdb8c5350f0ceacaa82864..1bf21c52f6bbaf27d2ef9008a52826573537115a 100644 (file)
@@ -1,8 +1,4 @@
-// Copyright (C) 2007-2015  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
@@ -94,10 +90,21 @@ void HYDROGUI_ImportPolylineOp::onApply()
     {
       HYDROData_ShapeFile anImporter;
       NCollection_Sequence<Handle_HYDROData_Entity> theEntities;
-      if (anImporter.ImportPolylines(doc(), aFileName, theEntities ))
+      int aShapeTypeOfFile = -1;
+      int aStat = anImporter.ImportPolylines(doc(), aFileName, theEntities, aShapeTypeOfFile ); 
+      if (aStat == 1)
         UpdateView(theEntities);
       else
-        SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "IMPORT_POLYLINE" ), "Cannot import polyline;\nThe shape type is incorrect" );
+      {
+        QString aMess = "Cannot import content of this file as polyline;\n";
+        if (aStat == -1)
+          aMess += "Cannot open SHP file";
+        else if (aStat == -2)
+          aMess += "Cannot open SHX file";
+        else 
+          aMess += "The shape type of file is " + anImporter.GetShapeTypeName(aShapeTypeOfFile);
+        SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "IMPORT_POLYLINE" ), aMess);
+      }
     }
   }
   if (!aFileNames.empty())