Salome HOME
Implementation of the "21459: EDF 1495 SMESH: Manipulation of discrete elements with...
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MeshInfo.h
index 84db5afc1656174744329dba4cfd6e4d5efe2236..a2fa39930e6deb2dc6b12f5d505dee906d3d1ce3 100644 (file)
@@ -1,4 +1,4 @@
-// Copyright (C) 2007-2011  CEA/DEN, EDF R&D, OPEN CASCADE
+// Copyright (C) 2007-2012  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
@@ -50,6 +50,8 @@ class SMESH_Actor;
 class SMDS_MeshNode;
 class SMDS_MeshElement;
 
+class ExtraWidget;
+
 class SMESHGUI_EXPORT SMESHGUI_MeshInfo : public QFrame
 {
   Q_OBJECT;
@@ -65,7 +67,10 @@ class SMESHGUI_EXPORT SMESHGUI_MeshInfo : public QFrame
     i0DStart,
     i0D,
     i0DEnd,
-    i1DStart       = i0DEnd,
+    iBallsStart = i0DEnd,
+    iBalls,
+    iBallsEnd,
+    i1DStart       = iBallsEnd,
     i1D,
     i1DEnd,
     i2DStart       = i1DEnd,
@@ -80,6 +85,7 @@ class SMESHGUI_EXPORT SMESHGUI_MeshInfo : public QFrame
     i3DHexahedrons,
     i3DPyramids,
     i3DPrisms,
+    i3DHexaPrisms,
     i3DPolyhedrons,
     i3DEnd,
     iElementsEnd   = i3DEnd
@@ -110,8 +116,12 @@ private:
   void     setFontAttributes( QWidget*, int, bool = true );
   void     setFieldsVisible( int, int, bool );
 
+private slots:
+  void loadMesh();
+
 private:
-  iwlist   myWidgets;
+  iwlist       myWidgets;
+  QPushButton* myLoadBtn;
 };
 
 class SMESHGUI_EXPORT SMESHGUI_ElemInfo : public QWidget
@@ -161,10 +171,7 @@ private:
   QList<long>      myIDs;
   int              myIsElement;
   QWidget*         myFrame;
-  QWidget*         myExtra;
-  QLabel*          myCurrent;
-  QPushButton*     myPrev;
-  QPushButton*     myNext;
+  ExtraWidget*     myExtra;
   int              myIndex;
 };
 
@@ -207,6 +214,7 @@ class GrpComputor: public QObject
 
 public:
   GrpComputor( SMESH::SMESH_GroupBase_ptr, QTreeWidgetItem*, QObject* );
+  QTreeWidgetItem* getItem() { return myItem; }
 
 public slots:
   void compute();
@@ -229,14 +237,26 @@ public:
   void             showInfo( SMESH::SMESH_IDSource_ptr );
   //  void             clear();
 
+private slots:
+  void             changeLoadToCompute();
+  void             showPreviousGroups();
+  void             showNextGroups();
+  void             showPreviousSubMeshes();
+  void             showNextSubMeshes();
+
 private:
   QTreeWidgetItem* createItem( QTreeWidgetItem* = 0, int = 0 );
   void             meshInfo( SMESH::SMESH_Mesh_ptr, QTreeWidgetItem* );
   void             subMeshInfo( SMESH::SMESH_subMesh_ptr, QTreeWidgetItem* );
   void             groupInfo( SMESH::SMESH_GroupBase_ptr, QTreeWidgetItem* );
 
+  void             showGroups();
+  void             showSubMeshes();
+
 private:
-  QList<GrpComputor*> myComputors;
+  QList<GrpComputor*>      myComputors;
+  SMESH::ListOfGroups_var  myGroups;
+  SMESH::submesh_array_var mySubMeshes;
 };
 
 class SMESHGUI_EXPORT SMESHGUI_MeshInfoDlg : public QDialog