RCP<VisualDependency> StringVisualDependencyXMLConverter::convertSpecialVisualAttributes( const XMLObject& xmlObj, const Dependency::ConstParameterEntryList dependees, const Dependency::ParameterEntryList dependents, bool showIf, const XMLParameterListReader::EntryIDsMap& /*entryIDsMap*/) const { TEUCHOS_TEST_FOR_EXCEPTION(dependees.size() > 1, TooManyDependeesException, "A StringVisualDependency can only have 1 dependee!" << std::endl << std::endl); StringVisualDependency::ValueList valueList; int valuesTagIndex = xmlObj.findFirstChild(getStringValuesTagName()); TEUCHOS_TEST_FOR_EXCEPTION(valuesTagIndex < 0, ValuesTagMissingException, "Couldn't find " << getStringValuesTagName() << " tag for a " << "StringVisualDependency!" << std::endl <<std::endl); XMLObject valuesTag = xmlObj.getChild(valuesTagIndex); for(int i=0; i<valuesTag.numChildren(); ++i){ XMLObject child = valuesTag.getChild(i); valueList.push_back(child.getRequired(getValueAttributeName())); } return rcp( new StringVisualDependency( *(dependees.begin()), dependents, valueList, showIf)); }
void DependencySheet::removeDependency(RCP<Dependency> dependency){ Dependency::ConstParameterEntryList dependees = dependency->getDependees(); for( Dependency::ConstParameterEntryList::iterator it = dependees.begin(); it != dependees.end(); ++it) { dependenciesMap_[*it].erase(dependency); } dependencies_.erase(dependency); }
Dependency::ConstParameterEntryList BoolLogicCondition::getAllParameters() const{ Dependency::ConstParameterEntryList toReturn; Dependency::ConstParameterEntryList currentList; for( ConstConditionList::const_iterator it = conditions_.begin(); it != conditions_.end(); ++it) { currentList = (*it)->getAllParameters(); toReturn.insert(currentList.begin(), currentList.end()); } return toReturn; }
RCP<Dependency> ValidatorDependencyXMLConverter::convertXML( const XMLObject& xmlObj, const Dependency::ConstParameterEntryList dependees, const Dependency::ParameterEntryList dependents, const XMLParameterListReader::EntryIDsMap& /*entryIDsMap*/, const IDtoValidatorMap& validatorIDsMap) const { TEUCHOS_TEST_FOR_EXCEPTION(dependees.size() > 1, TooManyDependeesException, "A Validator Dependency can only have 1 dependee!" << std::endl << std::endl); return convertSpecialValidatorAttributes( xmlObj, *(dependees.begin()), dependents, validatorIDsMap); }
RCP<VisualDependency> BoolVisualDependencyXMLConverter::convertSpecialVisualAttributes( const XMLObject& xmlObj, const Dependency::ConstParameterEntryList dependees, const Dependency::ParameterEntryList dependents, bool showIf, const XMLParameterListReader::EntryIDsMap& /*entryIDsMap*/) const { TEUCHOS_TEST_FOR_EXCEPTION(dependees.size() > 1, TooManyDependeesException, "A BoolVisualDependency can only have 1 dependee!" << std::endl << std::endl); return rcp(new BoolVisualDependency( *(dependees.begin()), dependents, showIf)); }