+
+HypothesisData::HypothesisData( const QString& theTypeName,
+ const QString& thePluginName,
+ const QString& theServerLibName,
+ const QString& theClientLibName,
+ const QString& theLabel,
+ const QString& theIconId,
+ const QList<int>& theDim,
+ const bool theIsAux,
+ const QStringList& theNeededHypos,
+ const QStringList& theOptionalHypos,
+ const QStringList& theInputTypes,
+ const QStringList& theOutputTypes,
+ const bool theIsNeedGeometry,
+ const bool supportSub)
+ : TypeName( theTypeName ),
+ PluginName( thePluginName ),
+ ServerLibName( theServerLibName ),
+ ClientLibName( theClientLibName ),
+ Label( theLabel ),
+ IconId( theIconId ),
+ Dim( theDim ),
+ IsAux( theIsAux ),
+ NeededHypos( theNeededHypos ),
+ OptionalHypos( theOptionalHypos ),
+ InputTypes( theInputTypes ),
+ OutputTypes( theOutputTypes ),
+ IsNeedGeometry( theIsNeedGeometry ),
+ IsSupportSubmeshes( supportSub )
+{
+}
+
+HypothesesSet::HypothesesSet( const QString& theSetName )
+ : myHypoSetName( theSetName ),
+ myIsAlgo( false )
+{
+}
+
+HypothesesSet::HypothesesSet( const QString& theSetName,
+ const QStringList& theHypoList,
+ const QStringList& theAlgoList )
+ : myHypoSetName( theSetName ),
+ myHypoList( theHypoList ),
+ myAlgoList( theAlgoList ),
+ myIsAlgo( false )
+{
+}
+
+QStringList* HypothesesSet::list(bool is_algo) const
+{
+ return const_cast<QStringList*>( &( is_algo ? myAlgoList : myHypoList ) );
+}
+
+QStringList* HypothesesSet::list() const
+{
+ return list( myIsAlgo );
+}
+
+QString HypothesesSet::name() const
+{
+ return myHypoSetName;
+}
+
+void HypothesesSet::set( bool isAlgo, const QStringList& lst )
+{
+ *list(isAlgo) = lst;
+}
+
+int HypothesesSet::count( bool isAlgo ) const
+{
+ return list(isAlgo)->count();
+}
+
+bool HypothesesSet::isAlgo() const
+{
+ return myIsAlgo;
+}
+
+void HypothesesSet::init( bool isAlgo )
+{
+ myIsAlgo = isAlgo;
+ myIndex = -1;
+}
+
+bool HypothesesSet::more() const
+{
+ return myIndex < list()->count();
+}
+
+void HypothesesSet::next()
+{
+ myIndex++;
+}
+
+QString HypothesesSet::current() const
+{
+ return list()->at(myIndex);
+}
+