- Timestamp:
- May 27, 2008, 12:27:13 AM (17 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
code/branches/console/src/core/ArgumentCompletionFunctions.cc
r1430 r1434 28 28 29 29 #include <iostream> 30 #include <map> 30 31 31 32 #include "ArgumentCompletionFunctions.h" 33 #include "CoreIncludes.h" 34 #include "Identifier.h" 35 #include "ConfigValueContainer.h" 36 #include "TclThreadManager.h" 37 #include "util/String.h" 32 38 33 39 namespace orxonox … … 39 45 return std::list<std::pair<std::string, std::string> >(); 40 46 } 47 48 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(configvalueclasses)() 49 { 50 std::list<std::pair<std::string, std::string> > classlist; 51 52 for (std::map<std::string, Identifier*>::const_iterator it = Identifier::getIdentifierMapBegin(); it != Identifier::getIdentifierMapEnd(); ++it) 53 if ((*it).second->hasConfigValues()) 54 classlist.push_back(std::pair<std::string, std::string>(getLowercase((*it).first), (*it).second->getName())); 55 56 return classlist; 57 } 58 59 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(configvalues)(const std::string& classname) 60 { 61 std::list<std::pair<std::string, std::string> > configvalues; 62 std::map<std::string, Identifier*>::const_iterator identifier = Identifier::getIdentifierMap().find(classname); 63 64 if (identifier != Identifier::getIdentifierMapEnd() && (*identifier).second->hasConfigValues()) 65 { 66 for (std::map<std::string, ConfigValueContainer*>::const_iterator it = (*identifier).second->getConfigValueMapBegin(); it != (*identifier).second->getConfigValueMapEnd(); ++it) 67 configvalues.push_back(std::pair<std::string, std::string>(getLowercase((*it).first), (*it).second->getName())); 68 } 69 70 return configvalues; 71 } 72 73 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(configvalue)(const std::string& varname, const std::string& classname) 74 { 75 std::list<std::pair<std::string, std::string> > oldvalue; 76 std::map<std::string, Identifier*>::const_iterator identifier = Identifier::getLowercaseIdentifierMap().find(getLowercase(classname)); 77 if (identifier != Identifier::getLowercaseIdentifierMapEnd()) 78 { 79 std::map<std::string, ConfigValueContainer*>::const_iterator variable = (*identifier).second->getLowercaseConfigValueMap().find(getLowercase(varname)); 80 if (variable != (*identifier).second->getLowercaseConfigValueMapEnd()) 81 { 82 std::string valuestring = (*variable).second->toString(); 83 oldvalue.push_back(std::pair<std::string, std::string>(valuestring, valuestring)); 84 } 85 } 86 return oldvalue; 87 } 88 89 ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(tclthreads)() 90 { 91 return TclThreadManager::getInstance().getThreadList(); 92 } 41 93 } 42 94 }
Note: See TracChangeset
for help on using the changeset viewer.