Salome HOME
Update French translation
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_ComputeDlg.h
index 618db50c583b253c8b7ad91b4933001a5ae95a6d..34063d61b52712536e908fcb3984d3dbc54d22b3 100644 (file)
@@ -37,6 +37,7 @@
 #include <QList>
 #include <QPointer>
 #include <QGroupBox>
+#include <QThread>
 
 // IDL includes
 #include <SALOMEconfig.h>
@@ -53,8 +54,6 @@ class SMESHGUI_MeshInfosBox;
 class SMESHGUI_PrecomputeDlg;
 class SMESHGUI_MeshEditPreview;
 
-class SMESH::compute_error_array;
-
 namespace SMESH
 {
   class TShapeDisplayer;
@@ -262,4 +261,57 @@ private:
   QtxComboBox*                 myPreviewMode;
 };
 
+/*!
+ * \brief Thread to launch computation
+ */
+
+class SMESHGUI_EXPORT SMESHGUI_ComputeDlg_QThread : public QThread
+{
+  Q_OBJECT
+    
+public:
+  SMESHGUI_ComputeDlg_QThread(SMESH::SMESH_Gen_var gen,
+                              SMESH::SMESH_Mesh_var mesh,
+                              GEOM::GEOM_Object_var mainShape);
+  bool result();
+  void cancel();
+  
+protected:
+  void run();
+  
+private:
+  SMESH::SMESH_Gen_var myGen;
+  SMESH::SMESH_Mesh_var myMesh;
+  GEOM::GEOM_Object_var myMainShape;
+  bool myResult;
+};
+
+/*!
+ * \brief Dialog to display Cancel button
+ */
+
+class SMESHGUI_EXPORT SMESHGUI_ComputeDlg_QThreadQDialog : public QDialog
+{
+  Q_OBJECT
+    
+public:
+  SMESHGUI_ComputeDlg_QThreadQDialog(QWidget *parent,
+                                     SMESH::SMESH_Gen_var gen,
+                                     SMESH::SMESH_Mesh_var mesh,
+                                     GEOM::GEOM_Object_var mainShape);
+  bool result();
+  
+protected:
+  void timerEvent(QTimerEvent *timer);
+  void closeEvent(QCloseEvent *event);
+  
+private slots:
+  void onCancel();
+  
+private:
+  SMESHGUI_ComputeDlg_QThread qthread;
+  QPushButton *cancelButton;
+  
+};
+
 #endif // SMESHGUI_COMPUTEDLG_H