X-Git-Url: http://git.salome-platform.org/gitweb/?p=modules%2Fsmesh.git;a=blobdiff_plain;f=src%2FSMESHGUI%2FSMESHGUI_XmlHandler.cxx;h=d2c18706b6173960453b749163fa9a8b3cf97600;hp=d02d9cd0215796ce92692fda5589a19a1d91023a;hb=cf325767f500546fcf9e58406a3b4457cad3f490;hpb=bd4e115a78b52e3fbc016e5e30bb0e19b2a9e7d6 diff --git a/src/SMESHGUI/SMESHGUI_XmlHandler.cxx b/src/SMESHGUI/SMESHGUI_XmlHandler.cxx index d02d9cd02..d2c18706b 100644 --- a/src/SMESHGUI/SMESHGUI_XmlHandler.cxx +++ b/src/SMESHGUI/SMESHGUI_XmlHandler.cxx @@ -1,4 +1,4 @@ -// Copyright (C) 2007-2012 CEA/DEN, EDF R&D, OPEN CASCADE +// Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE // // Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, // CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS @@ -36,6 +36,8 @@ // SALOME KERNEL includes #include +#define BAD_HYP_FLAG "NOT_FOUND" + /*! Constructor */ @@ -89,7 +91,7 @@ bool SMESHGUI_XmlHandler::startElement (const QString&, const QString&, */ if( !myClientLib.isEmpty() ) { -#ifdef WNT +#ifdef WIN32 //myServerLib += ".dll"; myClientLib += ".dll"; #else @@ -157,19 +159,21 @@ bool SMESHGUI_XmlHandler::startElement (const QString&, const QString&, } } - HypothesisData* aHypData = - new HypothesisData (aHypAlType, myPluginName, myServerLib, myClientLib, - aLabel, anIcon, aDim, isAux, - attr[ HYPOS ], attr[ OPT_HYPOS ], attr[ INPUT ], attr[ OUTPUT ], - isNeedGeom, isSupportSubmeshes ); + if ( !aHypAlType.contains( BAD_HYP_FLAG ) ) { + HypothesisData* aHypData = + new HypothesisData (aHypAlType, myPluginName, myServerLib, myClientLib, + aLabel, anIcon, aDim, isAux, + attr[ HYPOS ], attr[ OPT_HYPOS ], attr[ INPUT ], attr[ OUTPUT ], + isNeedGeom, isSupportSubmeshes ); - if (qName == "algorithm") - { - myAlgorithmsMap.insert(aHypAlType,aHypData); - } - else - { - myHypothesesMap.insert(aHypAlType,aHypData); + if (qName == "algorithm") + { + myAlgorithmsMap.insert(aHypAlType,aHypData); + } + else + { + myHypothesesMap.insert(aHypAlType,aHypData); + } } } } @@ -180,20 +184,20 @@ bool SMESHGUI_XmlHandler::startElement (const QString&, const QString&, { if (atts.value("name") != "") { - HypothesesSet* aHypoSet = new HypothesesSet ( atts.value("name") ); - myListOfHypothesesSets.append( aHypoSet ); + QString hypos = atts.value("hypos").remove( ' ' ); + QString algos = atts.value("algos").remove( ' ' ); + bool badSet = hypos.contains( BAD_HYP_FLAG ) || algos.contains( BAD_HYP_FLAG ); - for ( int isHypo = 0; isHypo < 2; ++isHypo ) - { - QString aHypos = isHypo ? atts.value("hypos") : atts.value("algos"); - aHypos = aHypos.remove( ' ' ); - aHypoSet->set( !isHypo, aHypos.split( ',', QString::SkipEmptyParts ) ); - } + if ( !badSet ) + myListOfHypothesesSets.append( new HypothesesSet ( atts.value("name"), + hypos.split( ',', QString::SkipEmptyParts ), + algos.split( ',', QString::SkipEmptyParts ) ) ); } } else if ( qName == "python-wrap" || qName == "algo" || - qName == "hypo" ) + qName == "hypo" || + qName == "accumulative-methods") { // elements used in SMESH_2smeshpy return true;