Salome HOME
Using files from package LightApp instead of files from package SalomeApp
[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 #include <qstringlist.h>
39
40 /*!
41  * \brief Auxiliary class for creation of hypotheses
42 */
43 class SMESHGUI_GenericHypothesisCreator
44 {
45   public:
46   virtual void CreateHypothesis (const bool isAlgo, QWidget* parent) = 0;
47   virtual void EditHypothesis (SMESH::SMESH_Hypothesis_ptr theHyp) = 0;
48 };
49
50 /*!
51  * \brief Class containing information about hypothesis
52 */
53 class HypothesisData
54 {
55  public:
56   HypothesisData( const QString& thePluginName,
57                   const QString& theServerLibName,
58                   const QString& theClientLibName,
59                   const QString& theLabel,
60                   const QString& theIconId,
61                   const QValueList<int>& theDim,
62                   const bool theIsAux ) 
63 : PluginName( thePluginName ),
64   ServerLibName( theServerLibName ),
65   ClientLibName( theClientLibName ),
66   Label( theLabel ),
67   IconId( theIconId ),
68   Dim( theDim ),
69   IsAux( theIsAux )
70  {};
71
72  QString PluginName;      //!< plugin name
73  QString ServerLibName;   //!< server library name
74  QString ClientLibName;   //!< client library name
75  QString Label;           //!< label
76  QString IconId;          //!< icon identifier
77  QValueList<int> Dim;     //!< list of supported dimensions (see SMESH::Dimension enumeration)
78  bool IsAux;              //!< TRUE if given hypothesis is auxiliary one, FALSE otherwise
79 };
80
81 /*!
82  * \brief Class containing set of hypotheses
83  *
84  * Actually it contains list of hypo types
85  */
86 class HypothesesSet
87 {
88  public:
89   HypothesesSet( const QString& theSetName ) 
90     : HypoSetName( theSetName ) {};
91   HypothesesSet( const QString&     theSetName,
92                  const QStringList& theHypoList,
93                  const QStringList& theAlgoList )
94     : HypoSetName( theSetName ), HypoList(theHypoList), AlgoList(theAlgoList) {};
95   QString     HypoSetName;
96   QStringList HypoList, AlgoList;
97 };
98 #endif