Salome HOME
IMP 10199 (add Volume Control)
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MeshInfosDlg.h
index bef45b9b2d2ca006097251a24ab6491c8e5be374..49db8c13a5224a250d1869e63307a3367a47b7b4 100644 (file)
 #ifndef SMESHGUI_MESHINFOSDLG_H
 #define SMESHGUI_MESHINFOSDLG_H
 
-#include "SALOME_Selection.h"
-#include "QAD_Study.h"
-
-// IDL Headers
-#include <SALOMEconfig.h>
-#include CORBA_SERVER_HEADER(SMESH_Gen)
-#include CORBA_SERVER_HEADER(SMESH_Mesh)
-
 // QT Includes
-#include <qvariant.h>
 #include <qdialog.h>
-class QVBoxLayout; 
-class QHBoxLayout; 
-class QGridLayout; 
+
 class QGroupBox;
 class QLabel;
 class QPushButton;
+class QWidgetStack;
+
+class SalomeApp_SelectionMgr;
 class SMESHGUI;
 
 class SMESHGUI_MeshInfosDlg : public QDialog
@@ -53,50 +45,67 @@ class SMESHGUI_MeshInfosDlg : public QDialog
     Q_OBJECT
 
 public:
-    SMESHGUI_MeshInfosDlg( QWidget* parent = 0, const char* name = 0, SALOME_Selection* Sel = 0, bool modal = FALSE, WFlags fl = 0 );
+    SMESHGUI_MeshInfosDlg( SMESHGUI* theModule, 
+                          const char* name = 0, 
+                          bool modal = FALSE, 
+                          WFlags fl = 0 );
     ~SMESHGUI_MeshInfosDlg();
 
+protected:
+    void closeEvent( QCloseEvent* e );
+    void windowActivationChange( bool oldActive );
+    void DumpMeshInfos();
+
+private slots:
+    void onSelectionChanged();
+    void DeactivateActiveDialog() ;
+    void ActivateThisDialog();
+    void onStartSelection();
+
 private:
+    SMESHGUI*               mySMESHGUI;
+    SalomeApp_SelectionMgr* mySelectionMgr; 
+    bool                    myStartSelection;
+    bool                    myIsActiveWindow;
 
-    void Init( SALOME_Selection* Sel ) ;
-    void closeEvent( QCloseEvent* e ) ;
-    void enterEvent ( QEvent * ) ;                /* mouse enter the QWidget */
-    void DumpMeshInfos();
+    QPushButton*  mySelectBtn;
+    QLabel*       mySelectLab;
 
-    SMESH::SMESH_Gen_var  myCompMesh ;                
-    SMESHGUI*             mySMESHGUI ;            
-    SMESH::SMESH_Mesh_var myMesh ;            
-    SALOME_Selection*     mySelection ; 
-    SALOMEDS::Study_var   myStudy;
-
-    QGroupBox* GroupBox1;
-    QLabel* TextLabel12;
-    QLabel* TextLabel11;
-    QLabel* TextLabel13;
-    QLabel* TextLabel14;
-    QGroupBox* GroupBox2;
-    QLabel* TextLabel21;
-    QLabel* TextLabel22;
-    QLabel* TextLabel23;
-    QLabel* TextLabel24;
-    QGroupBox* GroupBox3;
-    QLabel* TextLabel31;
-    QLabel* TextLabel32;
-    QLabel* TextLabel33;
-    QLabel* TextLabel34;
-    QPushButton* buttonOk;
+    QWidgetStack* myWGStack;
 
-private slots:
+    QWidget*      myMeshWidget;
+    QLabel*       myMeshName;
+    QLabel*       myMeshNbNodes;
+    QLabel*       myMeshNbEdges;
+    QGroupBox*    myMeshFacesGroup;
+    QLabel*       myMeshNbFaces;
+    QLabel*       myMeshNbTriangles;
+    QLabel*       myMeshNbQuadrangles;
+    QLabel*       myMeshNbPolygones;
+    QGroupBox*    myMeshVolumesGroup;
+    QLabel*       myMeshNbVolumes;
+    QLabel*       myMeshNbTetra;
+    QLabel*       myMeshNbHexa;
+    QLabel*       myMeshNbPyra;
+    QLabel*       myMeshNbPrism;
+    QLabel*       myMeshNbPolyhedrones;
 
-    void ClickOnOk();
-    void SelectionIntoArgument() ;
-    void DeactivateActiveDialog() ;
-    void ActivateThisDialog() ;
+    QWidget*      mySubMeshWidget;
+    QLabel*       mySubMeshName;
+    QLabel*       mySubMeshNbNodes;
+    QGroupBox*    mySubMeshElementsGroup;
+    QLabel*       mySubMeshNbElements;
+    QLabel*       mySubMeshNbEdges;
+    QLabel*       mySubMeshNbFaces;
+    QLabel*       mySubMeshNbVolumes;
 
-protected:
-    QVBoxLayout* SMESHGUI_MeshInfosDlgLayout;
-    QHBoxLayout* Layout1;
+    QWidget*      myGroupWidget;
+    QLabel*       myGroupName;
+    QLabel*       myGroupType;
+    QLabel*       myGroupNb;
 
+    QGroupBox*   myButtonsGroup;
+    QPushButton* myOkBtn;
 };
 
 #endif // SMESHGUI_MESHINFOSDLG_H