-// 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
#include "HYDROGUI_DataModel.h"
#include "HYDROGUI_Module.h"
#include "HYDROGUI_UpdateFlags.h"
-#include "HYDROGUI_Tool.h"
+#include "HYDROGUI_Tool2.h"
#include <HYDROData_PolylineXY.h>
#include <HYDROData_Polyline3D.h>
#include <HYDROGUI_DataObject.h>
myFileDlg = new SUIT_FileDlg( module()->getApp()->desktop(), true );
myFileDlg->setWindowTitle( getName() );
myFileDlg->setFileMode( SUIT_FileDlg::ExistingFiles );
- myFileDlg->setFilter( tr("SINUSX_FILTER") );
+ myFileDlg->setNameFilter( tr("SINUSX_FILTER") );
connect( myFileDlg, SIGNAL( accepted() ), this, SLOT( onApply() ) );
connect( myFileDlg, SIGNAL( rejected() ), this, SLOT( onCancel() ) );
return;
}
- QString aFileName = myFileDlg->selectedFile();
- if ( aFileName.isEmpty() )
- {
- abort();
- return;
- }
-
- QString anExt = aFileName.split('.', QString::SkipEmptyParts).back();
+ QStringList aFileNames = myFileDlg->selectedFiles();
+ bool IsImported = false;
+
+ QApplication::setOverrideCursor( Qt::WaitCursor );
+ startDocOperation();
- if (anExt == "sx")
+ foreach (QString aFileName, aFileNames)
{
- QApplication::setOverrideCursor( Qt::WaitCursor );
+ if ( aFileName.isEmpty() )
+ continue;
- startDocOperation();
+ QString anExt = aFileName.split('.', QString::SkipEmptyParts).back();
- HYDROData_SinusX aSinusXImporter;
- NCollection_Sequence<Handle_HYDROData_Entity> anEntities;
- if (aSinusXImporter.Import(aFileName, doc(), anEntities))
+ if (anExt == "sx")
{
- UpdateView(anEntities);
- commitDocOperation();
- commit();
- }
- else
- {
- abort();
+ HYDROData_SinusX aSinusXImporter;
+ NCollection_Sequence<Handle(HYDROData_Entity)> anEntities;
+ if (aSinusXImporter.Import(aFileName, doc(), anEntities))
+ {
+ UpdateView(anEntities);
+ IsImported = true;
+ }
}
}
- module()->update( UF_Model | UF_VTKViewer | UF_VTK_Forced | UF_VTK_Init );
-
+ if (IsImported)
+ {
+ commitDocOperation();
+ commit();
+ }
+ else
+ abort();
+
+ module()->update( UF_Model | UF_VTKViewer | UF_OCCViewer );
QApplication::restoreOverrideCursor();
}
-void HYDROGUI_ImportSinusXOp::UpdateView( NCollection_Sequence<Handle_HYDROData_Entity>& anEntities)
+void HYDROGUI_ImportSinusXOp::UpdateView( NCollection_Sequence<Handle(HYDROData_Entity)>& anEntities)
{
size_t anActiveViewId = HYDROGUI_Tool::GetActiveGraphicsViewId( module() );
if ( anActiveViewId == 0 )
- anActiveViewId = HYDROGUI_Tool::GetActiveOCCViewId( module() );
+ anActiveViewId = HYDROGUI_Tool::GetActiveViewId( module() );
for (int i = 1; i <= anEntities.Size() ; i++)
{