Salome HOME
Update version number: 3.1.0a2
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_Hypotheses.h
1 //  SMESH SMESHGUI : GUI for SMESH component
2 //
3 //  Copyright (C) 2003  CEA
4 // 
5 //  This library is free software; you can redistribute it and/or 
6 //  modify it under the terms of the GNU Lesser General Public 
7 //  License as published by the Free Software Foundation; either 
8 //  version 2.1 of the License. 
9 // 
10 //  This library is distributed in the hope that it will be useful, 
11 //  but WITHOUT ANY WARRANTY; without even the implied warranty of 
12 //  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU 
13 //  Lesser General Public License for more details. 
14 // 
15 //  You should have received a copy of the GNU Lesser General Public 
16 //  License along with this library; if not, write to the Free Software 
17 //  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA 
18 // 
19 //  See http://www.salome-platform.org or email : webmaster.salome@opencascade.org
20 //
21 //
22 //
23 //  File   : SMESHGUI_Hypotheses.h
24 //  Author : Julia DOROVSKIKH
25 //  Module : SMESH
26 //  $Header$
27
28 #ifndef SMESHGUI_Hypotheses_HeaderFile
29 #define SMESHGUI_Hypotheses_HeaderFile
30
31 #include <SALOMEconfig.h>
32 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
33
34 // QT Includes
35 #include <qstring.h>
36 #include <qwidget.h>
37 #include <qvaluevector.h>
38
39 /*!
40  * \brief Auxiliary class for creation of hypotheses
41 */
42 class SMESHGUI_GenericHypothesisCreator
43 {
44   public:
45   virtual void CreateHypothesis (const bool isAlgo, QWidget* parent) = 0;
46   virtual void EditHypothesis (SMESH::SMESH_Hypothesis_ptr theHyp) = 0;
47 };
48
49 /*!
50  * \brief Class containing information about hypothesis
51 */
52 class HypothesisData
53 {
54  public:
55   HypothesisData( const QString& thePluginName,
56                   const QString& theServerLibName,
57                   const QString& theClientLibName,
58                   const QString& theLabel,
59                   const QString& theIconId,
60                   const QValueList<int>& theDim,
61                   const bool theIsAux ) 
62 : PluginName( thePluginName ),
63   ServerLibName( theServerLibName ),
64   ClientLibName( theClientLibName ),
65   Label( theLabel ),
66   IconId( theIconId ),
67   Dim( theDim ),
68   IsAux( theIsAux )
69  {};
70
71  QString PluginName;      //!< plugin name
72  QString ServerLibName;   //!< server library name
73  QString ClientLibName;   //!< client library name
74  QString Label;           //!< label
75  QString IconId;          //!< icon identifier
76  QValueList<int> Dim;     //!< list of supported dimensions (see SMESH::Dimension enumeration)
77  bool IsAux;              //!< TRUE if given hypothesis is auxiliary one, FALSE otherwise
78 };
79
80 #endif