Salome HOME
lot 15:: protection against corrupted polylines/objects
[modules/hydro.git] / src / HYDROGUI / HYDROGUI_ImportPolylineOp.h
index 9dddb0c9ad5aa4dc5d07975267e31805a822ca75..695bff4dc1ebaef00503925657d01fe4566f9027 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
 #include "HYDROGUI_Operation.h"
 #include <vector>
 
+#include <NCollection_Sequence.hxx>
+#include <HYDROData_ShapeFile.h>
+
 class SUIT_FileDlg;
-class QFile;
-class gp_XYZ;
-struct HYDROGUI_CurveBlock
-{
-  //HYDROGUI_CurveBlock() : myType(-1), myIsConnected(false), myIsClosed(false), myName(""), myCurvePlane(-1), myRefRatio(1.0) 
-    //{};
-  std::vector<gp_XYZ> myXYZPoints;
-  int myType;
-  bool myIsConnected;
-  bool myIsClosed;
-  int myCurvePlane;
-  QString myName;
-  std::vector<double> myAdditionalCurveInfo;
-  std::vector<double> myRefCoords;
-  double myRefRatio;
-};
+class HYDROData_Entity;
 
 class HYDROGUI_ImportPolylineOp : public HYDROGUI_Operation
 {
@@ -50,16 +34,23 @@ class HYDROGUI_ImportPolylineOp : public HYDROGUI_Operation
 
 public:
   HYDROGUI_ImportPolylineOp( HYDROGUI_Module* theModule );
+
   virtual ~HYDROGUI_ImportPolylineOp();
 
+  static NCollection_Sequence<Handle(HYDROData_Entity)> ImportPolyOp(const QStringList& aFileNames, 
+                                                                     Handle(HYDROData_Document) theDocument,
+                                                                     HYDROGUI_Module* module, 
+                                                                     HYDROData_ShapeFile::ImportShapeType theShapeTypesToImport);
+
 protected:
+
   virtual void startOperation();
   virtual void onApply();
-  virtual void Process();
-  bool Parse( QFile&  theFile );
+
+  static void UpdateView( HYDROGUI_Module* module, NCollection_Sequence<Handle(HYDROData_Entity)>& anEntities);
+
 private:
   SUIT_FileDlg* myFileDlg;
-  std::vector<HYDROGUI_CurveBlock> myCurveBlocks;
 };
 
 #endif