Salome HOME
Implementation of NPAL13504 improvement.
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MeshDlg.h
index 47fb33a3409cb4f934f4abae19a13283f027e641..4b909b3c8ea3819d5fcfdb1bc95ca2ab1a9f7e0d 100644 (file)
@@ -1,3 +1,22 @@
+// Copyright (C) 2005  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
+// CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
+// 
+// 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 
+// version 2.1 of the License.
+// 
+// This library is distributed in the hope that it will be useful 
+// but WITHOUT ANY WARRANTY; without even the implied warranty of 
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
+// Lesser General Public License for more details.
+//
+// You should have received a copy of the GNU Lesser General Public  
+// License along with this library; if not, write to the Free Software 
+// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+//
+// See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+//
 /**
 *  SMESH SMESHGUI
 *
@@ -14,6 +33,8 @@
 #ifndef SMESHGUI_MeshDlg_H
 #define SMESHGUI_MeshDlg_H
 
+#include "SMESH_SMESHGUI.hxx"
+
 #include "SMESHGUI_Dialog.h"
 #include <qframe.h>
 #include <qstringlist.h>
@@ -32,7 +53,7 @@ class QPopupMenu;
  *
  *  This dialog is used for mech creation or editing. 
 */
-class SMESHGUI_MeshDlg : public SMESHGUI_Dialog
+class SMESHGUI_EXPORT SMESHGUI_MeshDlg : public SMESHGUI_Dialog
 { 
   Q_OBJECT       
       
@@ -41,7 +62,7 @@ public:
   enum Controls { Obj, Mesh, Geom };
   
   /*! Describes dimensions */
-  enum Dimensions { Dim1D = 0, Dim2D, Dim3D };      
+  enum Dimensions { Dim0D = 0, Dim1D, Dim2D, Dim3D };      
   
 public:
   SMESHGUI_MeshDlg( const bool theToCreate, const bool theIsMesh );
@@ -50,11 +71,31 @@ public:
   SMESHGUI_MeshTab*            tab( const int ) const;
   void                         reset();
   void                         setCurrentTab( const int );
+  void                         setMaxHypoDim( const int );
+  void                         setHypoSets( const QStringList& );
+  void                         setGeomPopupEnabled( const bool );
+  void                         disableTab(const int);
+  void                         enableTab(const int);
+
+
+signals:
+
+  void                         hypoSet( const QString& );
+  void                         geomSelectionByMesh( bool );
+
+private slots:  
+
+  void                         onHypoSetPopup( int );
+  void                         onHypoSetButton();
+  void                         onGeomPopup( int );
+  void                         onGeomSelectionButton( bool );
 
 private:
-  
+
   QMap< int, SMESHGUI_MeshTab* > myTabs;
   QTabWidget*                    myTabWg;
+  QPopupMenu*                    myHypoSetPopup;
+  QPopupMenu*                    myGeomPopup;
 };
 
 /*!
@@ -62,7 +103,7 @@ private:
  * algorithms and hypotheses
 */ 
 
-class SMESHGUI_MeshTab : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_MeshTab : public QFrame
 {
   Q_OBJECT
       
@@ -93,6 +134,8 @@ signals:
   //!< Emited when "Create hypothesis" button clicked
   void                         editHyp( const int theHypType, const int theIndex );
   //!< Emited when "Edit hypothesis" button clicked
+  void                         selectAlgo( const int theIndex );
+  //!< Emited when an algorithm is selected
   
 private slots:  
 
@@ -114,7 +157,3 @@ private:
 };
 
 #endif
-
-
-
-