Index: branches/gui/src/lib/util/executor/executor.h
===================================================================
--- branches/gui/src/lib/util/executor/executor.h	(revision 7923)
+++ branches/gui/src/lib/util/executor/executor.h	(revision 7985)
@@ -38,41 +38,44 @@
 class Executor : public BaseObject
 {
-public:
-  virtual ~Executor();
+  public:
+    virtual ~Executor();
 
-  virtual Executor* clone () const = 0;
+    virtual Executor* clone () const = 0;
 
-  // SETTING up the EXECUTOR
-  Executor* defaultValues(const MultiType& value0 = MT_NULL, const MultiType& value1 = MT_NULL,
-                          const MultiType& value2 = MT_NULL, const MultiType& value3 = MT_NULL,
-                          const MultiType& value4 = MT_NULL);
-  /** @param i the i'th defaultValue, @returns reference to the MultiType */
-  inline MultiType& getDefaultValue(unsigned int i) { return defaultValue[i]; };
+    // SETTING up the EXECUTOR
+    Executor* defaultValues(const MultiType& value0 = MT_NULL, const MultiType& value1 = MT_NULL,
+                            const MultiType& value2 = MT_NULL, const MultiType& value3 = MT_NULL,
+                            const MultiType& value4 = MT_NULL);
+    /** @param i the i'th defaultValue, @returns reference to the MultiType */
+    inline MultiType& getDefaultValue(unsigned int i) { return defaultValue[i]; };
 
-  // EXECUTE
-  /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes */
-  virtual void operator()(BaseObject* object, const SubString& sub = SubString()) const = 0;
-  /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes @brief here for your convenience*/
-  void execute (BaseObject* object, const std::string& parameters = "") const { (*this)(object, parameters); };
+    // EXECUTE
+    virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const = 0;
 
-  // RETRIEVE INFORMATION
-  /** @returns the Type of this Function (either static or objective) */
-  inline long getType() const { return this->functorType; };
-  /** @returns the Count of Parameters this Executor takes */
-  inline unsigned int getParamCount() const { return this->paramCount; };
+    /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes */
+    virtual void operator()(BaseObject* object, const SubString& sub = SubString()) const = 0;
+    /** executes a Command @param object the object to apply this to @param parameters the parameters the command takes @brief here for your convenience*/
+    void execute (BaseObject* object, const std::string& parameters = "") const { (*this)(object, parameters); };
 
-  static void debug();
 
-protected:
-  Executor(const MultiType& param0 = MT_NULL, const MultiType& param1 = MT_NULL,
-           const MultiType& param2 = MT_NULL, const MultiType& param3 = MT_NULL,
-           const MultiType& param4 = MT_NULL);
+    // RETRIEVE INFORMATION
+    /** @returns the Type of this Function (either static or objective) */
+    inline long getType() const { return this->functorType; };
+    /** @returns the Count of Parameters this Executor takes */
+    inline unsigned int getParamCount() const { return this->paramCount; };
 
-  void cloning(Executor* executor) const;
+    static void debug();
 
-protected:
-  short                       functorType;      //!< The type of Function we've got (either static or objective).
-  unsigned int                paramCount;       //!< the count of parameters.
-  MultiType                   defaultValue[5];  //!< Default Values.
+  protected:
+    Executor(const MultiType& param0 = MT_NULL, const MultiType& param1 = MT_NULL,
+             const MultiType& param2 = MT_NULL, const MultiType& param3 = MT_NULL,
+             const MultiType& param4 = MT_NULL);
+
+    void cloning(Executor* executor) const;
+
+  protected:
+    short                       functorType;      //!< The type of Function we've got (either static or objective).
+    unsigned int                paramCount;       //!< the count of parameters.
+    MultiType                   defaultValue[5];  //!< Default Values.
 };
 
Index: branches/gui/src/lib/util/executor/executor_functional.cc
===================================================================
--- branches/gui/src/lib/util/executor/executor_functional.cc	(revision 7923)
+++ branches/gui/src/lib/util/executor/executor_functional.cc	(revision 7985)
@@ -34,4 +34,13 @@
 template<> const std::string& fromString<const std::string&>(const std::string& input, const std::string& defaultValue) { return ExecutorFunctional_returningString_from = isString(input, defaultValue); };
 
+
+template<> bool fromMulti<bool>(const MultiType& multi) { return multi.getBool(); };
+template<> int fromMulti<int>(const MultiType& multi) { return multi.getInt(); }
+template<> unsigned int fromMulti<unsigned int>(const MultiType& multi) { return multi.getInt(); };
+template<> float fromMulti<float>(const MultiType& multi) { return multi.getFloat(); };
+template<> char fromMulti<char>(const MultiType& multi) { return multi.getChar(); };
+template<> const std::string& fromMulti<const std::string&>(const MultiType& multi) { return multi.getString(); };
+
+
 template<> bool getDefault<bool>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getBool(); };
 template<> int getDefault<int>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getInt(); };
@@ -40,4 +49,6 @@
 template<> char getDefault<char>(const MultiType* const defaultValues, unsigned int i) { return defaultValues[i].getChar(); };
 template<> const std::string& getDefault<const std::string&>(const MultiType* const defaultValues, unsigned int i) { return ExecutorFunctional_returningString_default = defaultValues[i].getString(); };
+
+
 
 
Index: branches/gui/src/lib/util/executor/executor_functional.h
===================================================================
--- branches/gui/src/lib/util/executor/executor_functional.h	(revision 7923)
+++ branches/gui/src/lib/util/executor/executor_functional.h	(revision 7985)
@@ -33,5 +33,5 @@
 template<> MT_Type ExecutorParamType<const std::string&>();
 
-template<typename type> type fromString(const std::string& input, type defaultValue) {return defaultValue; };
+template<typename type> type fromString(const std::string& input, type defaultValue) { return defaultValue; };
 template<> bool fromString<bool>(const std::string& input, bool defaultValue);
 template<> int fromString<int>(const std::string& input, int defaultValue);
@@ -40,4 +40,13 @@
 template<> char fromString<char>(const std::string& input, char defaultValue);
 template<> const std::string& fromString<const std::string&>(const std::string& input, const std::string& defaultValue);
+
+template<typename type> type fromMulti(const MultiType& multi) { /* return defaultValue; */ };
+template<> bool fromMulti<bool>(const MultiType& multi);
+template<> int fromMulti<int>(const MultiType& multi);
+template<> unsigned int fromMulti<unsigned int>(const MultiType& multi);
+template<> float fromMulti<float>(const MultiType& multi);
+template<> char fromMulti<char>(const MultiType& multi);
+template<> const std::string& fromMulti<const std::string&>(const MultiType& multi);
+
 
 template<typename type> type getDefault(const MultiType* const defaultValues, unsigned int i) { return (type)0; };
@@ -81,4 +90,7 @@
 #endif /* EXECUTOR_FUNCTIONAL_USE_STATIC */
 
+///////////
+//// 0 ////
+///////////
 //! @brief ExecutorClass, that can execute Functions without any parameters.
 template<class T> class __EXECUTOR_FUNCTIONAL_NAME(0) : public Executor
@@ -110,4 +122,9 @@
   };
 
+  virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const
+  {
+    (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)();
+  }
+
   /**
    * @brief copies the Executor
@@ -120,4 +137,9 @@
 };
 
+
+
+///////////
+//// 1 ////
+///////////
 //! @brief ExecutorClass, that can execute Functions with one parameter.
 template<class T, typename type0> class __EXECUTOR_FUNCTIONAL_NAME(1) : public Executor
@@ -138,4 +160,16 @@
     this->functionPointer = functionPointer;
   };
+
+  virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const
+  {
+    switch(count)
+    {
+      case 0:
+        return (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(fromMulti<type0>(this->defaultValue[0]));
+      default:
+       return (__EXECUTOR_FUNCTIONAL_FUNCTION_EXEC)(fromMulti<type0>(values[0]));
+    }
+  }
+
 
   /**
@@ -166,4 +200,7 @@
 };
 
+///////////
+//// 2 ////
+///////////
 //! @brief ExecutorClass, that can execute Functions with two parameters.
 template<class T, typename type0, typename type1> class __EXECUTOR_FUNCTIONAL_NAME(2) : public Executor
@@ -197,4 +234,8 @@
   };
 
+  virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const
+  {
+  }
+
   /**
    * @brief copies the Executor
@@ -208,4 +249,7 @@
 
 
+///////////
+//// 3 ////
+///////////
 //! @brief ExecutorClass, that can execute Functions with three parameters.
 template<class T, typename type0, typename type1, typename type2> class __EXECUTOR_FUNCTIONAL_NAME(3) : public Executor
@@ -240,4 +284,8 @@
   };
 
+  virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const
+  {
+  }
+
   /**
    * @brief copies the Executor
@@ -252,4 +300,7 @@
 
 
+///////////
+//// 4 ////
+///////////
 //! @brief ExecutorClass, that can execute Functions with four parameters.
 template<class T, typename type0, typename type1, typename type2, typename type3> class __EXECUTOR_FUNCTIONAL_NAME(4) : public Executor
@@ -285,4 +336,8 @@
   };
 
+  virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const
+  {
+  }
+
   /**
    * @brief copies the Executor
@@ -295,4 +350,9 @@
 };
 
+
+
+///////////
+//// 5 ////
+///////////
 //! @brief ExecutorClass, that can execute Functions with five parameters.
 template<class T, typename type0, typename type1, typename type2, typename type3, typename type4> class __EXECUTOR_FUNCTIONAL_NAME(5) : public Executor
@@ -329,4 +389,8 @@
   };
 
+  virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const
+  {
+  }
+
   /**
    * @brief copies the Executor
Index: branches/gui/src/lib/util/executor/executor_specials.h
===================================================================
--- branches/gui/src/lib/util/executor/executor_specials.h	(revision 7923)
+++ branches/gui/src/lib/util/executor/executor_specials.h	(revision 7985)
@@ -67,4 +67,9 @@
     }
 
+    virtual void operator()(BaseObject* object, unsigned int count, const MultiType* values) const
+    {
+
+    }
+
   private:
     /**
