X-Git-Url: http://git.salome-platform.org/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2FModuleBase%2FModuleBase_FilterFactory.cpp;h=b30ad90f5e356c36665a2055acee23c1cbca8008;hb=423f6b0a08a86d5e47115b87603cddeae4468b49;hp=c1fb82fc2d04c846e7dace999e65f1cd46214ecd;hpb=9ade3feafa3ee13af4f9eaf8ffa2b96f7973709b;p=modules%2Fshaper.git diff --git a/src/ModuleBase/ModuleBase_FilterFactory.cpp b/src/ModuleBase/ModuleBase_FilterFactory.cpp index c1fb82fc2..b30ad90f5 100644 --- a/src/ModuleBase/ModuleBase_FilterFactory.cpp +++ b/src/ModuleBase/ModuleBase_FilterFactory.cpp @@ -1,6 +1,6 @@ // Copyright (C) 2014-20xx CEA/DEN, EDF R&D -// File: ModuleBase_FilterFactory.h +// File: ModuleBase_FilterFactory.cpp // Created: 10 Dec 2014 // Author: Natalia ERMOLAEVA @@ -12,14 +12,15 @@ #include #include //#include -#include +#include void ModuleBase_FilterFactory::registerFilter(const std::string& theID, - Handle(ModuleBase_Filter) theFilter) + ModuleBase_Filter* theFilter) { if (myIDs.find(theID) != myIDs.end()) { - Events_Error::send(std::string("Filter ") + theID + " is already registered"); + Events_InfoMessage("ModuleBase_FilterFactory", + "Filter %1 is already registered").arg(theID).send(); } else { myIDs[theID] = theFilter; } @@ -48,28 +49,30 @@ void ModuleBase_FilterFactory::assignFilter(const std::string& theID, void ModuleBase_FilterFactory::filters(const std::string& theFeatureID, const std::string& theAttrID, SelectMgr_ListOfFilter& theFilters/*, - std::list& theFilters/*, + std::list& theFilters/*, std::list >& theArguments*/) const { SelectMgr_ListOfFilter aFilters; - std::map >::const_iterator aFeature = + std::map >::const_iterator aFeature = myAttrs.find(theFeatureID); if (aFeature != myAttrs.cend()) { std::map::const_iterator anAttr = aFeature->second.find(theAttrID); if (anAttr != aFeature->second.end()) { AttrFilters::const_iterator aValIter = anAttr->second.cbegin(); for (; aValIter != anAttr->second.cend(); aValIter++) { - std::map::const_iterator aFound = myIDs.find( + std::map::const_iterator aFound = myIDs.find( aValIter->first); if (aFound == myIDs.end()) { - Events_Error::send(std::string("Filter ") + aValIter->first + " was not registered"); + Events_InfoMessage("ModuleBase_FilterFactory", "Filter %1 was not registered") + .arg(aValIter->first).send(); } else { - Handle(ModuleBase_Filter) aFilter = aFound->second; - if (aFilter.IsNull()) - continue; + ModuleBase_Filter* aFilter = aFound->second; + aFilter->setArguments(aValIter->second); + //if (aFilter.IsNull()) + // continue; - theFilters.Append(aFilter);//aFound->second); + theFilters.Append(aFilter->getFilter());//aFound->second); //theArguments.push_back(aValIter->second); } } @@ -83,9 +86,9 @@ ModuleBase_FilterFactory::ModuleBase_FilterFactory() //registerFilter(kDefaultId, new Model_FeatureFilter); } -const Handle(ModuleBase_Filter) ModuleBase_FilterFactory::filter(const std::string& theID) const +const ModuleBase_Filter* ModuleBase_FilterFactory::filter(const std::string& theID) const { - std::map::const_iterator aIt = myIDs.find(theID); + std::map::const_iterator aIt = myIDs.find(theID); if (aIt != myIDs.end()) { return aIt->second; }