Salome HOME
Merge branch 'BR_LAND_COVER_MAP' of ssh://git.salome-platform.org/modules/hydro into...
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImportLandCoverOp.cxx
index bc49f7efc7b6bc6ea51b08689e841f0494c7af17..d7ff002410ddb3ea3a1f19ba40ccb32c2da843ad 100644 (file)
@@ -160,10 +160,10 @@ bool HYDROGUI_ImportLandCoverOp::processApply( int& theUpdateFlags,
       for( ;HYDROGUI_Tool::FindObjectByName(module(), aLCName); i++)
         aLCName = aPanel->getObjectName() + "_polygon_" + QString::number(i);
       aLC->SetName( aLCName );
-      aLC->SetFillingColor( HYDROData_LandCover::DefaultFillingColor() );
-      aLC->SetBorderColor( HYDROData_LandCover::DefaultBorderColor() );
+      aLC->SetFillingColor( aLC->DefaultFillingColor() );
+      aLC->SetBorderColor( aLC->DefaultBorderColor() );
       
-      aLC->setShape(aResShape);
+      aLC->SetShape(aResShape);
       aLC->Show();
             
       //erasePreview();
@@ -222,8 +222,9 @@ void HYDROGUI_ImportLandCoverOp::onFileSelected()
     erasePreview();
 
     Handle(AIS_InteractiveContext) aCtx = NULL;
-
-    if (anImporter.ImportLandCovers(aFileName, aPolygonsList, aFaces))
+    int aShapeTypeOfFile = -1;
+    int aStat = anImporter.ImportLandCovers(aFileName, aPolygonsList, aFaces, aShapeTypeOfFile);
+    if (aStat == 1)
     {
       aPanel->setPolygonNames(aPolygonsList);
 
@@ -246,14 +247,14 @@ void HYDROGUI_ImportLandCoverOp::onFileSelected()
       {
         TopoDS_Face aFace = TopoDS::Face(aFaces.Value( i ));
 
-        aLC->setShape( aFace );      
+        aLC->SetShape( aFace );      
         
         if ( aViewManager && !aCtx.IsNull() )
         {
           HYDROGUI_Shape* aShape = new HYDROGUI_Shape( aCtx, NULL, getPreviewZLayer() );
 
-          aShape->setFillingColor( HYDROData_LandCover::DefaultFillingColor(), false, false );
-          aShape->setBorderColor( HYDROData_LandCover::DefaultBorderColor(), false, false );
+          aShape->setFillingColor( aLC->DefaultFillingColor(), false, false );
+          aShape->setBorderColor( aLC->DefaultBorderColor(), false, false );
           if( !aFace.IsNull() )
             aShape->setShape( aLC->GetShape() );
           myPolygonName2PrsShape.insert( "polygon_" + QString::number(i), aShape);
@@ -276,7 +277,14 @@ void HYDROGUI_ImportLandCoverOp::onFileSelected()
       aPanel->setPolygonNames(QStringList());
       aPanel->setObjectName("");
       QApplication::restoreOverrideCursor();
-      SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "IMPORT_LANDCOVER" ), "Cannot import land cover;\nThe shape type is not polygon" );
+      QString aMess = "Cannot import land cover;\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_LANDCOVER" ), aMess);
       commitDocOperation();
       //abort();
     }