myObjectNameGroup = new QGroupBox( tr( "FILE_NAME" ) );
- QLabel* aBathymetryNameLabel = new QLabel( tr( "NAME" ), myObjectNameGroup );
+ QLabel* aLandcoverNameLabel = new QLabel( tr( "NAME" ), myObjectNameGroup );
myObjectName = new QLineEdit( myObjectNameGroup );
- QBoxLayout* aBathymetryNameLayout = new QHBoxLayout( myObjectNameGroup );
- aBathymetryNameLayout->setMargin( 5 );
- aBathymetryNameLayout->setSpacing( 5 );
- aBathymetryNameLayout->addWidget( aBathymetryNameLabel );
- aBathymetryNameLayout->addWidget( myObjectName );
+ QBoxLayout* aLandcoverNameLayout = new QHBoxLayout( myObjectNameGroup );
+ aLandcoverNameLayout->setMargin( 5 );
+ aLandcoverNameLayout->setSpacing( 5 );
+ aLandcoverNameLayout->addWidget( aLandcoverNameLabel );
+ aLandcoverNameLayout->addWidget( myObjectName );
QGroupBox* aPolygonsGroup = new QGroupBox( tr( "FOUND_POLYGONS_OF_SHP_FILE" ), mainFrame() );
myPolygons = new QListWidget( aPolygonsGroup );
#include <HYDROGUI_ZLayers.h>
#include <HYDROGUI_DataObject.h>
-#include <HYDROData_Bathymetry.h>
#include <HYDROData_Iterator.h>
#include <HYDROData_Profile.h>
HYDROGUI_ImportLandCoverOp::~HYDROGUI_ImportLandCoverOp()
{
-
+ erasePreview();
}
void HYDROGUI_ImportLandCoverOp::startOperation()
return aPanel;
}
-void HYDROGUI_ImportLandCoverOp::onApply()
+bool HYDROGUI_ImportLandCoverOp::processApply( int& theUpdateFlags,
+ QString& theErrorMsg,
+ QStringList& theBrowseObjectsEntries )
{
HYDROGUI_ImportLandCoverDlg* aPanel = ::qobject_cast<HYDROGUI_ImportLandCoverDlg*>( inputPanel() );
if ( !aPanel ) {
- return;
+ return false;
}
QStringList aSelectedtPolygons = aPanel->getSelectedPolygonNames();
}
if( !aLC.IsNull() )
{
- aLC->SetName( aPanel->getFileName() + "_polygon_" );
+ QString aLCName = aPanel->getObjectName() + "_polygon";
+ int i = 0;
+ 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() );
}
module()->update( UF_Model | UF_VTKViewer | UF_VTK_Forced | UF_VTK_Init );
-
- QApplication::restoreOverrideCursor();
-}
+ if ( isApplyAndClose() )
+ erasePreview();
+
+ return true;
+}
void HYDROGUI_ImportLandCoverOp::Parse(SHPHandle theHandle)
gp_Pln pln(gp_Pnt(0,0,0), gp_Dir(0,0,1));
BRepBuilderAPI_MakeFace aFBuilder(pln);
- Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
- sfs->FixFaceTool()->FixOrientationMode() = 1;
-
+ //Handle(ShapeFix_Shape) sfs = new ShapeFix_Shape;
+ //sfs->FixFaceTool()->FixOrientationMode() = 1;
+
for ( int i = 0 ; i < nParts ; i++ )
{
BRepBuilderAPI_MakeWire aBuilder;
BRepLib::BuildCurves3d(DF);
if(!DF.IsNull())
{
- sfs->Init ( DF );
- sfs->Perform();
- F = TopoDS::Face(sfs->Shape());
+ //sfs->Init ( DF );
+ //sfs->Perform();
+ F = DF; //TopoDS::Face(sfs->Shape());
}
}
HYDROGUI_ImportLandCoverDlg* aPanel = ::qobject_cast<HYDROGUI_ImportLandCoverDlg*>( inputPanel() );
if ( !aPanel )
return;
-
+
QString anObjectName = aPanel->getObjectName().simplified();
- anObjectName = aPanel->getFileName();
- if ( !anObjectName.isEmpty() ) {
- anObjectName = QFileInfo( anObjectName ).baseName();
- }
+ anObjectName = aPanel->getFileName();
+ if ( !anObjectName.isEmpty() )
+ anObjectName = QFileInfo( anObjectName ).baseName();
- if ( anObjectName.isEmpty() ) {
- anObjectName = HYDROGUI_Tool::GenerateObjectName( module(), tr( "DEFAULT_BATHYMETRY_NAME" ) );
- }
- aPanel->setObjectName( anObjectName );
+ if ( anObjectName.isEmpty() )
+ anObjectName = HYDROGUI_Tool::GenerateObjectName( module(), tr( "DEFAULT_LANDCOVER_NAME" ) );
+ aPanel->setObjectName( anObjectName );
- QString aFileName = aPanel->getFileName();
+ QString aFileName = aPanel->getFileName();
if ( aFileName.isEmpty() )
{
abort();
SHPHandle aHSHP;
aHSHP = SHPOpen( aFileName.toAscii().data(), "rb" );
Parse(aHSHP);
-
+
startDocOperation();
QStringList aPolygonsList;
for (int i = 1; i < mySHPObjects.size(); i++)
}
}
+ QApplication::setOverrideCursor(Qt::WaitCursor);
+
TopTools_SequenceOfShape aFaces;
TopoDS_Face aF;
if (aHSHP->nShapeType == 5)
{
- for (int i = 1; i < 4 /*mySHPObjects.size()*/; i++) { ///TODO temp
+ for (int i = 0; i < mySHPObjects.size(); i++)
+ {
ProcessSHP(mySHPObjects[i], i, aF);
aFaces.Append(aF);
}
}
else
SUIT_MessageBox::warning( module()->getApp()->desktop(), "Import Land cover", "Cannot land cover;\nThe shape type is not polygon" );
-
+ QApplication::restoreOverrideCursor();
Handle(HYDROData_LandCover) aLC = Handle(HYDROData_LandCover)::DownCast( doc()->CreateObject( KIND_LAND_COVER ) );
for ( int i = 1; i <= aFaces.Length(); i++ )
if( !aFace.IsNull() )
aShape->setShape( aLC->GetShape() );
myPolygonName2PrsShape.insert( "polygon_" + QString::number(i), aShape);
-
}
-
}
aLC->Remove();
}
}
- if ( !aCtx.IsNull() ) {
+ if ( !aCtx.IsNull() )
+ {
QStringList aSelectedNames;
-
foreach ( QString aName, myPolygonName2PrsShape.keys() ) {
bool isSelected = aCtx->IsSelected( myPolygonName2PrsShape.value(aName)->getAISObject() );
if ( isSelected ) {
aSelectedNames << aName;
}
}
-
aPanel->setSelectedPolygonNames( aSelectedNames );
}
}