Index: code/branches/console/src/core/ArgumentCompleter.h
===================================================================
--- code/branches/console/src/core/ArgumentCompleter.h	(revision 1439)
+++ code/branches/console/src/core/ArgumentCompleter.h	(revision 1441)
@@ -30,8 +30,6 @@
 #define _ArgumentCompleter_H__
 
-#include <list>
-#include <string>
-
 #include "CorePrereqs.h"
+#include "ArgumentCompletionListElement.h"
 
 namespace orxonox
@@ -40,12 +38,12 @@
     {
         public:
-            ArgumentCompleter(std::list<std::pair<std::string, std::string> > (*function) (void)) : paramCount_(0), function_0_(function) {}
-            ArgumentCompleter(std::list<std::pair<std::string, std::string> > (*function) (const std::string& param1)) : paramCount_(1), function_1_(function) {}
-            ArgumentCompleter(std::list<std::pair<std::string, std::string> > (*function) (const std::string& param1, const std::string& param2)) : paramCount_(2), function_2_(function) {}
-            ArgumentCompleter(std::list<std::pair<std::string, std::string> > (*function) (const std::string& param1, const std::string& param2, const std::string& param3)) : paramCount_(3), function_3_(function) {}
-            ArgumentCompleter(std::list<std::pair<std::string, std::string> > (*function) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4)) : paramCount_(4), function_4_(function) {}
-            ArgumentCompleter(std::list<std::pair<std::string, std::string> > (*function) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4, const std::string& param5)) : paramCount_(5), function_5_(function) {}
+            ArgumentCompleter(ArgumentCompletionList (*function) (void)) : paramCount_(0), function_0_(function) {}
+            ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1)) : paramCount_(1), function_1_(function) {}
+            ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1, const std::string& param2)) : paramCount_(2), function_2_(function) {}
+            ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1, const std::string& param2, const std::string& param3)) : paramCount_(3), function_3_(function) {}
+            ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4)) : paramCount_(4), function_4_(function) {}
+            ArgumentCompleter(ArgumentCompletionList (*function) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4, const std::string& param5)) : paramCount_(5), function_5_(function) {}
 
-            std::list<std::pair<std::string, std::string> > operator()(const std::string& param1 = "", const std::string& param2 = "", const std::string& param3 = "", const std::string& param4 = "", const std::string& param5 = "")
+            ArgumentCompletionList operator()(const std::string& param1 = "", const std::string& param2 = "", const std::string& param3 = "", const std::string& param4 = "", const std::string& param5 = "")
             {
                 switch (this->paramCount_)
@@ -64,5 +62,5 @@
                         return (*this->function_5_)(param1, param2, param3, param4, param5);
                     default:
-                        return std::list<std::pair<std::string, std::string> >();
+                        return ArgumentCompletionList();
                 }
             }
@@ -70,10 +68,10 @@
         private:
             unsigned char paramCount_;
-            std::list<std::pair<std::string, std::string> > (*function_0_) (void);
-            std::list<std::pair<std::string, std::string> > (*function_1_) (const std::string& param1);
-            std::list<std::pair<std::string, std::string> > (*function_2_) (const std::string& param1, const std::string& param2);
-            std::list<std::pair<std::string, std::string> > (*function_3_) (const std::string& param1, const std::string& param2, const std::string& param3);
-            std::list<std::pair<std::string, std::string> > (*function_4_) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4);
-            std::list<std::pair<std::string, std::string> > (*function_5_) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4, const std::string& param5);
+            ArgumentCompletionList (*function_0_) (void);
+            ArgumentCompletionList (*function_1_) (const std::string& param1);
+            ArgumentCompletionList (*function_2_) (const std::string& param1, const std::string& param2);
+            ArgumentCompletionList (*function_3_) (const std::string& param1, const std::string& param2, const std::string& param3);
+            ArgumentCompletionList (*function_4_) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4);
+            ArgumentCompletionList (*function_5_) (const std::string& param1, const std::string& param2, const std::string& param3, const std::string& param4, const std::string& param5);
     };
 }
Index: code/branches/console/src/core/ArgumentCompletionFunctions.cc
===================================================================
--- code/branches/console/src/core/ArgumentCompletionFunctions.cc	(revision 1439)
+++ code/branches/console/src/core/ArgumentCompletionFunctions.cc	(revision 1441)
@@ -30,9 +30,4 @@
 #include <map>
 
-//#include <stdio.h>
-//#include <stdlib.h>
-//#include <errno.h>
-//#include <sys/types.h>
-//#include <sys/stat.h>
 #include <dirent.h>
 
@@ -42,4 +37,5 @@
 #include "ConfigValueContainer.h"
 #include "TclThreadManager.h"
+#include "util/Convert.h"
 #include "util/String.h"
 #include "util/SubString.h"
@@ -51,11 +47,11 @@
         ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(fallback)()
         {
-            return std::list<std::pair<std::string, std::string> >();
+            return ArgumentCompletionList();
         }
 
         ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(files)(const std::string& fragment)
         {
-            std::list<std::pair<std::string, std::string> > dirlist;
-            std::list<std::pair<std::string, std::string> > filelist;
+            ArgumentCompletionList dirlist;
+            ArgumentCompletionList filelist;
 
             SubString tokens(fragment, "/", "", false, '\0', false, '\0', false, '\0', '\0', false, '\0');
@@ -86,9 +82,9 @@
 
                         if (S_ISREG(fileInfo.st_mode)) // normal file
-                            filelist.push_back(std::pair<std::string, std::string>(getLowercase(path), path));
+                            filelist.push_back(ArgumentCompletionListElement(path, getLowercase(path), currentFile->d_name));
                         else if (S_ISDIR(fileInfo.st_mode)) // directory
-                            dirlist.push_back(std::pair<std::string, std::string>(getLowercase(path) + "/", path + "/"));
+                            dirlist.push_back(ArgumentCompletionListElement(path + "/", getLowercase(path) + "/", std::string(currentFile->d_name) + "/"));
                         else // special file
-                            filelist.push_back(std::pair<std::string, std::string>(getLowercase(path), path));
+                            filelist.push_back(ArgumentCompletionListElement(path, getLowercase(path), currentFile->d_name));
                     }
                 }
@@ -103,9 +99,9 @@
         ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(configvalueclasses)()
         {
-            std::list<std::pair<std::string, std::string> > classlist;
+            ArgumentCompletionList classlist;
 
             for (std::map<std::string, Identifier*>::const_iterator it = Identifier::getIdentifierMapBegin(); it != Identifier::getIdentifierMapEnd(); ++it)
                 if ((*it).second->hasConfigValues())
-                    classlist.push_back(std::pair<std::string, std::string>(getLowercase((*it).first), (*it).second->getName()));
+                    classlist.push_back(ArgumentCompletionListElement((*it).second->getName(), getLowercase((*it).first)));
 
             return classlist;
@@ -114,5 +110,5 @@
         ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(configvalues)(const std::string& fragment, const std::string& classname)
         {
-            std::list<std::pair<std::string, std::string> > configvalues;
+            ArgumentCompletionList configvalues;
             std::map<std::string, Identifier*>::const_iterator identifier = Identifier::getIdentifierMap().find(classname);
 
@@ -120,5 +116,5 @@
             {
                 for (std::map<std::string, ConfigValueContainer*>::const_iterator it = (*identifier).second->getConfigValueMapBegin(); it != (*identifier).second->getConfigValueMapEnd(); ++it)
-                    configvalues.push_back(std::pair<std::string, std::string>(getLowercase((*it).first), (*it).second->getName()));
+                    configvalues.push_back(ArgumentCompletionListElement((*it).second->getName(), getLowercase((*it).first)));
             }
 
@@ -128,5 +124,5 @@
         ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(configvalue)(const std::string& fragment, const std::string& varname, const std::string& classname)
         {
-            std::list<std::pair<std::string, std::string> > oldvalue;
+            ArgumentCompletionList oldvalue;
             std::map<std::string, Identifier*>::const_iterator identifier = Identifier::getLowercaseIdentifierMap().find(getLowercase(classname));
             if (identifier != Identifier::getLowercaseIdentifierMapEnd())
@@ -136,5 +132,5 @@
                 {
                     std::string valuestring = (*variable).second->toString();
-                    oldvalue.push_back(std::pair<std::string, std::string>(valuestring, valuestring));
+                    oldvalue.push_back(ArgumentCompletionListElement(valuestring, getLowercase(valuestring), "Old value: " + valuestring));
                 }
             }
@@ -144,5 +140,11 @@
         ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(tclthreads)()
         {
-            return TclThreadManager::getInstance().getThreadList();
+            std::list<unsigned int> threadnumbers = TclThreadManager::getInstance().getThreadList();
+            ArgumentCompletionList threads;
+
+            for (std::list<unsigned int>::const_iterator it = threadnumbers.begin(); it != threadnumbers.end(); ++it)
+                threads.push_back(ArgumentCompletionListElement(getConvertedValue<unsigned int, std::string>(*it)));
+
+            return threads;
         }
     }
Index: code/branches/console/src/core/ArgumentCompletionFunctions.h
===================================================================
--- code/branches/console/src/core/ArgumentCompletionFunctions.h	(revision 1439)
+++ code/branches/console/src/core/ArgumentCompletionFunctions.h	(revision 1441)
@@ -30,14 +30,11 @@
 #define _ArgumentCompletionFunctions_H__
 
-#include <list>
-#include <string>
-
+#include "CorePrereqs.h"
 #include "ArgumentCompleter.h"
-#include "CorePrereqs.h"
 
 
 #define ARGUMENT_COMPLETION_FUNCTION_DECLARATION(functionname) \
     ArgumentCompleter* functionname(); \
-    _CoreExport std::list<std::pair<std::string, std::string> > acf_##functionname
+    _CoreExport ArgumentCompletionList acf_##functionname
 
 #define ARGUMENT_COMPLETION_FUNCTION_IMPLEMENTATION(functionname) \
@@ -48,5 +45,5 @@
     } \
     \
-    std::list<std::pair<std::string, std::string> > acf_##functionname
+    ArgumentCompletionList acf_##functionname
 
 
Index: code/branches/console/src/core/ArgumentCompletionListElement.h
===================================================================
--- code/branches/console/src/core/ArgumentCompletionListElement.h	(revision 1441)
+++ code/branches/console/src/core/ArgumentCompletionListElement.h	(revision 1441)
@@ -0,0 +1,73 @@
+/*
+ *   ORXONOX - the hottest 3D action shooter ever to exist
+ *                    > www.orxonox.net <
+ *
+ *
+ *   License notice:
+ *
+ *   This program is free software; you can redistribute it and/or
+ *   modify it under the terms of the GNU General Public License
+ *   as published by the Free Software Foundation; either version 2
+ *   of the License, or (at your option) any later version.
+ *
+ *   This program is distributed in the hope that it will be useful,
+ *   but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *   GNU General Public License for more details.
+ *
+ *   You should have received a copy of the GNU General Public License
+ *   along with this program; if not, write to the Free Software
+ *   Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
+ *
+ *   Author:
+ *      Fabian 'x3n' Landau
+ *   Co-authors:
+ *      ...
+ *
+ */
+
+#ifndef _ArgumentCompletionListElement_H__
+#define _ArgumentCompletionListElement_H__
+
+#include "CorePrereqs.h"
+
+#include <string>
+#include <list>
+
+#define ACL_MODE_NORMAL    1
+#define ACL_MODE_LOWERCASE 2
+#define ACL_MODE_DISPLAY   4
+
+namespace orxonox
+{
+    typedef std::list<ArgumentCompletionListElement> ArgumentCompletionList;
+
+    class _CoreExport ArgumentCompletionListElement
+    {
+        public:
+            ArgumentCompletionListElement(const std::string& normalcase) : mode_(ACL_MODE_NORMAL), normalCase_(normalcase) {}
+            ArgumentCompletionListElement(const std::string& normalcase, const std::string& lowercase) : mode_(ACL_MODE_NORMAL | ACL_MODE_LOWERCASE), normalCase_(normalcase), lowerCase_(lowercase) {}
+            ArgumentCompletionListElement(const std::string& normalcase, const std::string& lowercase, const std::string& display) : mode_(ACL_MODE_NORMAL | ACL_MODE_LOWERCASE | ACL_MODE_DISPLAY), normalCase_(normalcase), lowerCase_(lowercase), display_(display) {}
+
+            const std::string& getString() const
+                { return this->normalCase_; }
+            const std::string& getComparable() const
+                { if (this->mode_ & ACL_MODE_LOWERCASE) { return this->lowerCase_; } else { return this->normalCase_; } }
+            const std::string& getDisplay() const
+                { if (this->mode_ & ACL_MODE_DISPLAY) { return this->display_; } else { return this->normalCase_; } }
+
+            bool lowercaseComparison() const
+                { return (this->mode_ & ACL_MODE_LOWERCASE); }
+
+            bool operator<(const ArgumentCompletionListElement& other) const
+                { return (this->getComparable() < other.getComparable()); }
+
+        private:
+            unsigned char mode_;
+            std::string normalCase_;
+            std::string lowerCase_;
+            std::string display_;
+    };
+}
+
+#endif /* _ArgumentCompletionListElement_H__ */
Index: code/branches/console/src/core/CommandEvaluation.cc
===================================================================
--- code/branches/console/src/core/CommandEvaluation.cc	(revision 1439)
+++ code/branches/console/src/core/CommandEvaluation.cc	(revision 1441)
@@ -271,13 +271,13 @@
     }
 
-    std::string CommandEvaluation::dump(const std::list<std::pair<std::string, std::string> >& list)
+    std::string CommandEvaluation::dump(const ArgumentCompletionList& list)
     {
         std::string output = "";
-        for (std::list<std::pair<std::string, std::string> >::const_iterator it = list.begin(); it != list.end(); ++it)
+        for (ArgumentCompletionList::const_iterator it = list.begin(); it != list.end(); ++it)
         {
             if (it != list.begin())
                 output += " ";
 
-            output += (*it).second;
+            output += (*it).getDisplay();
         }
         return output;
Index: code/branches/console/src/core/CommandEvaluation.h
===================================================================
--- code/branches/console/src/core/CommandEvaluation.h	(revision 1439)
+++ code/branches/console/src/core/CommandEvaluation.h	(revision 1441)
@@ -35,4 +35,5 @@
 #include <list>
 
+#include "ArgumentCompletionListElement.h"
 #include "util/SubString.h"
 #include "util/MultiTypeMath.h"
@@ -82,5 +83,5 @@
             unsigned int getStartindex() const;
             static std::string dump(const std::list<std::pair<const std::string*, const std::string*> >& list);
-            static std::string dump(const std::list<std::pair<std::string, std::string> >& list);
+            static std::string dump(const ArgumentCompletionList& list);
             static std::string dump(const ConsoleCommand* command);
 
@@ -96,5 +97,5 @@
             std::list<std::pair<const std::string*, const std::string*> > listOfPossibleIdentifiers_;
             std::list<std::pair<const std::string*, const std::string*> > listOfPossibleFunctions_;
-            std::list<std::pair<std::string, std::string> > listOfPossibleArguments_;
+            ArgumentCompletionList listOfPossibleArguments_;
 
             Identifier* functionclass_;
Index: code/branches/console/src/core/CommandExecutor.cc
===================================================================
--- code/branches/console/src/core/CommandExecutor.cc	(revision 1439)
+++ code/branches/console/src/core/CommandExecutor.cc	(revision 1441)
@@ -371,6 +371,6 @@
                 {
                     // There is exactly one possible argument
-                    CommandExecutor::getEvaluation().argument_ = (*CommandExecutor::getEvaluation().listOfPossibleArguments_.begin()).second;
-                    CommandExecutor::getEvaluation().possibleArgument_ = (*CommandExecutor::getEvaluation().listOfPossibleArguments_.begin()).second;
+                    CommandExecutor::getEvaluation().argument_ = (*CommandExecutor::getEvaluation().listOfPossibleArguments_.begin()).getString();
+                    CommandExecutor::getEvaluation().possibleArgument_ = (*CommandExecutor::getEvaluation().listOfPossibleArguments_.begin()).getString();
                     CommandExecutor::getEvaluation().state_ = CS_ParamPreparation;
                     return;
@@ -457,6 +457,4 @@
                 if ((*it).first.find(lowercase) == 0 || fragment == "")
                     CommandExecutor::getEvaluation().listOfPossibleIdentifiers_.push_back(std::pair<const std::string*, const std::string*>(&(*it).first, &(*it).second->getName()));
-
-        CommandExecutor::getEvaluation().listOfPossibleIdentifiers_.sort(CommandExecutor::compareStringsInList);
     }
 
@@ -477,6 +475,4 @@
                     CommandExecutor::getEvaluation().listOfPossibleFunctions_.push_back(std::pair<const std::string*, const std::string*>(&(*it).first, &(*it).second->getName()));
         }
-
-        CommandExecutor::getEvaluation().listOfPossibleFunctions_.sort(CommandExecutor::compareStringsInList);
     }
 
@@ -487,9 +483,17 @@
         CommandExecutor::getEvaluation().listOfPossibleArguments_.clear();
         std::string lowercase = getLowercase(fragment);
-        for (std::list<std::pair<std::string, std::string> >::const_iterator it = command->getArgumentCompletionListBegin(); it != command->getArgumentCompletionListEnd(); ++it)
-            if ((*it).first.find(lowercase) == 0 || fragment == "")
-                CommandExecutor::getEvaluation().listOfPossibleArguments_.push_back(std::pair<std::string, std::string>((*it).first, (*it).second));
-
-        CommandExecutor::getEvaluation().listOfPossibleArguments_.sort(CommandExecutor::compareStringsInList2);
+        for (ArgumentCompletionList::const_iterator it = command->getArgumentCompletionListBegin(); it != command->getArgumentCompletionListEnd(); ++it)
+        {
+            if ((*it).lowercaseComparison())
+            {
+                if ((*it).getComparable().find(lowercase) == 0 || fragment == "")
+                    CommandExecutor::getEvaluation().listOfPossibleArguments_.push_back(*it);
+            }
+            else
+            {
+                if ((*it).getComparable().find(fragment) == 0 || fragment == "")
+                    CommandExecutor::getEvaluation().listOfPossibleArguments_.push_back(*it);
+            }
+        }
     }
 
@@ -527,8 +531,16 @@
 
         std::string lowercase = getLowercase(name);
-        for (std::list<std::pair<std::string, std::string> >::const_iterator it = command->getArgumentCompletionListBegin(); it != command->getArgumentCompletionListEnd(); ++it)
-        {
-            if ((*it).first == lowercase)
-                return (*it).second;
+        for (ArgumentCompletionList::const_iterator it = command->getArgumentCompletionListBegin(); it != command->getArgumentCompletionListEnd(); ++it)
+        {
+            if ((*it).lowercaseComparison())
+            {
+                if ((*it).getComparable() == lowercase)
+                    return (*it).getString();
+            }
+            else
+            {
+                if ((*it).getComparable() == name)
+                    return (*it).getString();
+            }
         }
 
@@ -595,5 +607,5 @@
     }
 
-    std::string CommandExecutor::getCommonBegin(const std::list<std::pair<std::string, std::string> >& list)
+    std::string CommandExecutor::getCommonBegin(const ArgumentCompletionList& list)
     {
         if (list.size() == 0)
@@ -603,5 +615,5 @@
         else if (list.size() == 1)
         {
-            return ((*list.begin()).first + " ");
+            return ((*list.begin()).getComparable() + " ");
         }
         else
@@ -611,15 +623,16 @@
             {
                 char temp = 0;
-                for (std::list<std::pair<std::string, std::string> >::const_iterator it = list.begin(); it != list.end(); ++it)
-                {
-                    if ((*it).first.size() > i)
+                for (ArgumentCompletionList::const_iterator it = list.begin(); it != list.end(); ++it)
+                {
+                    std::string argument = (*it).getComparable();
+                    if (argument.size() > i)
                     {
                         if (it == list.begin())
                         {
-                            temp = (*it).first[i];
+                            temp = argument[i];
                         }
                         else
                         {
-                            if (temp != (*it).first[i])
+                            if (temp != argument[i])
                                 return output;
                         }
@@ -635,13 +648,3 @@
         }
     }
-
-    bool CommandExecutor::compareStringsInList(const std::pair<const std::string*, const std::string*>& first, const std::pair<const std::string*, const std::string*>& second)
-    {
-        return ((*first.first) < (*second.first));
-    }
-
-    bool CommandExecutor::compareStringsInList2(const std::pair<std::string, std::string>& first, const std::pair<std::string, std::string>& second)
-    {
-        return (first.first < second.first);
-    }
 }
Index: code/branches/console/src/core/CommandExecutor.h
===================================================================
--- code/branches/console/src/core/CommandExecutor.h	(revision 1439)
+++ code/branches/console/src/core/CommandExecutor.h	(revision 1441)
@@ -35,6 +35,4 @@
 
 #include "CommandEvaluation.h"
-
-#define COMMAND_EXECUTOR_CURSOR "$"
 
 namespace orxonox
@@ -95,8 +93,5 @@
             static void createArgumentCompletionList(ConsoleCommand* command, unsigned int param);
             static std::string getCommonBegin(const std::list<std::pair<const std::string*, const std::string*> >& list);
-            static std::string getCommonBegin(const std::list<std::pair<std::string, std::string> >& list);
-            static bool compareStringsInList(const std::pair<const std::string*, const std::string*>& first, const std::pair<const std::string*, const std::string*>& second);
-            static bool compareStringsInList2(const std::pair<std::string, std::string>& first, const std::pair<std::string, std::string>& second);
-
+            static std::string getCommonBegin(const ArgumentCompletionList& list);
 
             CommandEvaluation evaluation_;
Index: code/branches/console/src/core/ConsoleCommand.h
===================================================================
--- code/branches/console/src/core/ConsoleCommand.h	(revision 1439)
+++ code/branches/console/src/core/ConsoleCommand.h	(revision 1441)
@@ -34,5 +34,4 @@
 #include "Executor.h"
 #include "ClassManager.h"
-#include "Identifier.h"
 #include "CommandExecutor.h"
 #include "ArgumentCompletionFunctions.h"
@@ -104,9 +103,9 @@
 
             void createArgumentCompletionList(unsigned int param, const std::string& param1 = "", const std::string& param2 = "", const std::string& param3 = "", const std::string& param4 = "", const std::string& param5 = "");
-            const std::list<std::pair<std::string, std::string> >& getArgumentCompletionList() const
+            const ArgumentCompletionList& getArgumentCompletionList() const
                 { return this->argumentList_; }
-            std::list<std::pair<std::string, std::string> >::const_iterator getArgumentCompletionListBegin() const
+            ArgumentCompletionList::const_iterator getArgumentCompletionListBegin() const
                 { return this->argumentList_.begin(); }
-            std::list<std::pair<std::string, std::string> >::const_iterator getArgumentCompletionListEnd() const
+            ArgumentCompletionList::const_iterator getArgumentCompletionListEnd() const
                 { return this->argumentList_.end(); }
 
@@ -114,5 +113,5 @@
             AccessLevel::Level accessLevel_;
             ArgumentCompleter* argumentCompleter_[5];
-            std::list<std::pair<std::string, std::string> > argumentList_;
+            ArgumentCompletionList argumentList_;
     };
 
Index: code/branches/console/src/core/CorePrereqs.h
===================================================================
--- code/branches/console/src/core/CorePrereqs.h	(revision 1439)
+++ code/branches/console/src/core/CorePrereqs.h	(revision 1441)
@@ -78,4 +78,5 @@
 
   class ArgumentCompleter;
+  class ArgumentCompletionListElement;
   class BaseFactory;
   class BaseMetaObjectListElement;
Index: code/branches/console/src/core/TclThreadManager.cc
===================================================================
--- code/branches/console/src/core/TclThreadManager.cc	(revision 1439)
+++ code/branches/console/src/core/TclThreadManager.cc	(revision 1441)
@@ -632,13 +632,10 @@
     }
 
-    std::list<std::pair<std::string, std::string> > TclThreadManager::getThreadList() const
+    std::list<unsigned int> TclThreadManager::getThreadList() const
     {
         boost::mutex::scoped_lock bundles_lock(TclThreadManager::getInstance().bundlesMutex_);
-        std::list<std::pair<std::string, std::string> > threads;
+        std::list<unsigned int> threads;
         for (std::map<unsigned int, TclInterpreterBundle*>::const_iterator it = this->interpreterBundles_.begin(); it != this->interpreterBundles_.end(); ++it)
-        {
-            std::string number = getConvertedValue<unsigned int, std::string>((*it).first);
-            threads.push_back(std::pair<std::string, std::string>(number, number));
-        }
+            threads.push_back((*it).first);
         return threads;
     }
Index: code/branches/console/src/core/TclThreadManager.h
===================================================================
--- code/branches/console/src/core/TclThreadManager.h	(revision 1439)
+++ code/branches/console/src/core/TclThreadManager.h	(revision 1441)
@@ -109,5 +109,5 @@
             virtual void tick(float dt);
 
-            std::list<std::pair<std::string, std::string> > getThreadList() const;
+            std::list<unsigned int> getThreadList() const;
 
         private:
