WidgetTypes::VectorString WidgetTypes::findPossibleValues(const std::string& _name) { for (VectorPossibleValue::iterator iter = mPossibleValues.begin(); iter != mPossibleValues.end(); ++iter) { if ((*iter)->name == _name) { return (*iter)->values; } } return VectorString(); }
void LanguageManager::_load(xml::ElementPtr _node, const std::string & _file, Version _version) { std::string def; // берем детей и крутимся, основной цикл xml::ElementEnumerator root = _node->getElementEnumerator(); while (root.next(XML_TYPE)) { // парсим атрибуты root->findAttribute("default", def); // берем детей и крутимся xml::ElementEnumerator info = root->getElementEnumerator(); while (info.next("Info")) { // парсим атрибуты std::string name(info->findAttribute("name")); // доюавляем в карту пользователя if (name.empty()) { xml::ElementEnumerator source_info = info->getElementEnumerator(); while (source_info.next("Source")) { loadLanguage(source_info->getContent(), ResourceManager::getInstance().getResourceGroup(), true); }; } // добавляем в карту языков else { MapListString::iterator lang = mMapFile.find(name); if (lang == mMapFile.end()) { lang = mMapFile.insert(std::make_pair(name, VectorString())).first; } xml::ElementEnumerator source_info = info->getElementEnumerator(); while (source_info.next("Source")) { lang->second.push_back(source_info->getContent()); }; } }; }; if ( ! def.empty()) setCurrentLanguage(def); }