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();
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);
{
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);
}
else
{
- SUIT_MessageBox::warning( module()->getApp()->desktop(), tr( "IMPORT_LANDCOVER" ), "Cannot import land cover;\nThe shape type is not polygon" );
-
+ erasePreview();
+ aPanel->setPolygonNames(QStringList());
+ aPanel->setObjectName("");
QApplication::restoreOverrideCursor();
+ 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();
}