Salome HOME
PAL10237. Add a button assigning a set of hypotheses
[modules/smesh.git] / src / SMESHGUI / SMESHGUI_Hypotheses.h
index 932226296c953d8706b0340d9d9c297b18f18db1..431ca2294c04d15c743108f7608644971ac8c26f 100644 (file)
 #ifndef SMESHGUI_Hypotheses_HeaderFile
 #define SMESHGUI_Hypotheses_HeaderFile
 
+#include <SALOMEconfig.h>
 #include CORBA_SERVER_HEADER(SMESH_Hypothesis)
 
 // QT Includes
 #include <qstring.h>
 #include <qwidget.h>
+#include <qvaluevector.h>
+#include <qstringlist.h>
 
-//=================================================================================
-// class    : SMESHGUI_GenericHypothesisCreator
-// purpose  :
-//=================================================================================
+/*!
+ * \brief Auxiliary class for creation of hypotheses
+*/
 class SMESHGUI_GenericHypothesisCreator
 {
   public:
@@ -45,30 +47,52 @@ class SMESHGUI_GenericHypothesisCreator
   virtual void EditHypothesis (SMESH::SMESH_Hypothesis_ptr theHyp) = 0;
 };
 
-//=================================================================================
-// class    : HypothesisData
-// purpose  :
-//=================================================================================
+/*!
+ * \brief Class containing information about hypothesis
+*/
 class HypothesisData
 {
  public:
-  HypothesisData (const QString& aPluginName,
-                 const QString& aServerLibName,
-                 const QString& aClientLibName,
-                 const QString& aLabel,
-                 const QString& anIconId) :
- PluginName(aPluginName),
- ServerLibName(aServerLibName),
- ClientLibName(aClientLibName),
- Label(aLabel),
- IconId(anIconId)
+  HypothesisData( const QString& thePluginName,
+                  const QString& theServerLibName,
+                  const QString& theClientLibName,
+                  const QString& theLabel,
+                  const QString& theIconId,
+                  const QValueList<int>& theDim,
+                  const bool theIsAux ) 
+: PluginName( thePluginName ),
+  ServerLibName( theServerLibName ),
+  ClientLibName( theClientLibName ),
+  Label( theLabel ),
+  IconId( theIconId ),
+  Dim( theDim ),
+  IsAux( theIsAux )
  {};
 
- QString PluginName;
- QString ServerLibName;
- QString ClientLibName;
- QString Label;
- QString IconId;
+ QString PluginName;      //!< plugin name
+ QString ServerLibName;   //!< server library name
+ QString ClientLibName;   //!< client library name
+ QString Label;           //!< label
+ QString IconId;          //!< icon identifier
+ QValueList<int> Dim;     //!< list of supported dimensions (see SMESH::Dimension enumeration)
+ bool IsAux;              //!< TRUE if given hypothesis is auxiliary one, FALSE otherwise
 };
 
+/*!
+ * \brief Class containing set of hypotheses
+ *
+ * Actually it contains list of hypo types
+ */
+class HypothesesSet
+{
+ public:
+  HypothesesSet( const QString& theSetName ) 
+    : HypoSetName( theSetName ) {};
+  HypothesesSet( const QString&     theSetName,
+                 const QStringList& theHypoList,
+                 const QStringList& theAlgoList )
+    : HypoSetName( theSetName ), HypoList(theHypoList), AlgoList(theAlgoList) {};
+  QString     HypoSetName;
+  QStringList HypoList, AlgoList;
+};
 #endif