- Timestamp:
- Mar 16, 2010, 11:22:36 AM (15 years ago)
- Location:
- code/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
code/trunk
- Property svn:mergeinfo changed
/code/branches/gamestate (added) merged: 6430-6432,6437,6439-6440
- Property svn:mergeinfo changed
-
code/trunk/src/libraries/core/ArgumentCompletionFunctions.cc
r6417 r6536 36 36 #include "util/StringUtils.h" 37 37 #include "Identifier.h" 38 #include "ConfigFileManager.h" 38 39 #include "ConfigValueContainer.h" 39 40 #include "TclThreadManager.h" … … 96 97 } 97 98 98 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION( configvalueclasses)()99 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(settingssections)() 99 100 { 100 ArgumentCompletionList classlist;101 ArgumentCompletionList sectionList; 101 102 102 for (std::map<std::string, Identifier*>::const_iterator it = Identifier::getStringIdentifierMapBegin(); it != Identifier::getStringIdentifierMapEnd(); ++it)103 if (it->second->hasConfigValues())104 classlist.push_back(ArgumentCompletionListElement(it->first, getLowercase(it->first)));103 const std::set<std::string>& names = SettingsConfigFile::getInstance().getSectionNames(); 104 for (std::set<std::string>::const_iterator it = names.begin(); it != names.end(); ++it) 105 sectionList.push_back(ArgumentCompletionListElement(*it, getLowercase(*it))); 105 106 106 return classlist;107 return sectionList; 107 108 } 108 109 109 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION( configvalues)(const std::string& fragment, const std::string& classname)110 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(settingsentries)(const std::string& fragment, const std::string& section) 110 111 { 111 ArgumentCompletionList configvalues; 112 std::map<std::string, Identifier*>::const_iterator identifier = Identifier::getLowercaseStringIdentifierMap().find(getLowercase(classname)); 112 ArgumentCompletionList entryList; 113 SettingsConfigFile& settings = SettingsConfigFile::getInstance(); 114 const std::string& sectionLC = getLowercase(section); 113 115 114 if (identifier != Identifier::getLowercaseStringIdentifierMapEnd() && identifier->second->hasConfigValues()) 116 SettingsConfigFile::ContainerMap::const_iterator upper = settings.getContainerUpperBound(sectionLC); 117 for (SettingsConfigFile::ContainerMap::const_iterator it = settings.getContainerLowerBound(sectionLC); it != upper; ++it) 118 entryList.push_back(ArgumentCompletionListElement(it->second.second->getName(), it->second.first)); 119 120 return entryList; 121 } 122 123 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(settingsvalue)(const std::string& fragment, const std::string& entry, const std::string& section) 124 { 125 ArgumentCompletionList oldValue; 126 SettingsConfigFile& settings = SettingsConfigFile::getInstance(); 127 const std::string& sectionLC = getLowercase(section); 128 const std::string& entryLC = getLowercase(entry); 129 130 SettingsConfigFile::ContainerMap::const_iterator upper = settings.getContainerUpperBound(sectionLC); 131 for (SettingsConfigFile::ContainerMap::const_iterator it = settings.getContainerLowerBound(sectionLC); it != upper; ++it) 115 132 { 116 for (std::map<std::string, ConfigValueContainer*>::const_iterator it = identifier->second->getConfigValueMapBegin(); it != identifier->second->getConfigValueMapEnd(); ++it) 117 configvalues.push_back(ArgumentCompletionListElement(it->first, getLowercase(it->first))); 133 if (it->second.first == entryLC) 134 { 135 const std::string& valuestring = it->second.second->toString(); 136 oldValue.push_back(ArgumentCompletionListElement(valuestring, getLowercase(valuestring), "Old value: " + valuestring)); 137 } 118 138 } 119 139 120 return configvalues; 121 } 122 123 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(configvalue)(const std::string& fragment, const std::string& varname, const std::string& classname) 124 { 125 ArgumentCompletionList oldvalue; 126 std::map<std::string, Identifier*>::const_iterator identifier = Identifier::getLowercaseStringIdentifierMap().find(getLowercase(classname)); 127 if (identifier != Identifier::getLowercaseStringIdentifierMapEnd()) 128 { 129 std::map<std::string, ConfigValueContainer*>::const_iterator variable = identifier->second->getLowercaseConfigValueMap().find(getLowercase(varname)); 130 if (variable != identifier->second->getLowercaseConfigValueMapEnd()) 131 { 132 const std::string& valuestring = variable->second->toString(); 133 oldvalue.push_back(ArgumentCompletionListElement(valuestring, getLowercase(valuestring), "Old value: " + valuestring)); 134 } 135 } 136 return oldvalue; 140 return oldValue; 137 141 } 138 142
Note: See TracChangeset
for help on using the changeset viewer.