Salome HOME
Join modifications from V3_2_0_maintainance branch
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_MeshDlg.h
index 0a03ddbf7ea04e3b8793430c99bbee404e2bd85e..33f1b2d573dd05abcd22f9771f4d6e162fb5b1ae 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 );
@@ -52,21 +73,26 @@ public:
   void                         setCurrentTab( const int );
   void                         setMaxHypoDim( const int );
   void                         setHypoSets( const QStringList& );
+  void                         setGeomPopupEnabled( const bool );
 
 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;
 };
 
 /*!
@@ -74,7 +100,7 @@ private:
  * algorithms and hypotheses
 */ 
 
-class SMESHGUI_MeshTab : public QFrame
+class SMESHGUI_EXPORT SMESHGUI_MeshTab : public QFrame
 {
   Q_OBJECT
       
@@ -105,6 +131,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:  
 
@@ -126,7 +154,3 @@ private:
 };
 
 #endif
-
-
-
-