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)); }
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)); }