Index: trunk/src/lib/gui/gl/glgui.h
===================================================================
--- trunk/src/lib/gui/gl/glgui.h	(revision 9014)
+++ trunk/src/lib/gui/gl/glgui.h	(revision 9015)
@@ -19,4 +19,5 @@
 #include "glgui_slider.h"
 #include "glgui_cursor.h"
+#include "glgui_text.h"
 #include "glgui_inputline.h"
 #include "glgui_textfield.h"
Index: trunk/src/lib/gui/gl/glgui_textfield.cc
===================================================================
--- trunk/src/lib/gui/gl/glgui_textfield.cc	(revision 9014)
+++ trunk/src/lib/gui/gl/glgui_textfield.cc	(revision 9015)
@@ -17,7 +17,9 @@
 
 #include "glgui_textfield.h"
+
+#include "text.h"
+
 namespace OrxGui
 {
-
   /**
    * standard constructor
@@ -34,6 +36,5 @@
   */
   GLGuiTextfield::~GLGuiTextfield()
-  {
-  }
+  {}
 
   /**
@@ -43,8 +44,112 @@
   {
     this->setClassID(CL_GLGUI_TEXTFIELD, "GLGuiTextfield");
+
+    this->_text.setParent2D(this);
+    this->_text.setRelCoor2D(4,4);
+    this->_text.setFont("fonts/final_frontier.ttf", 20);
+    this->_text.setLineWidth(400);
+    this->_text.setColor(foregroundColor());
+    this->_text.setVisibility(false);
+    this->_changedTextColor = Color::white;
+    this->resize();
   }
 
   /**
-   * @brief draws the GLGuiTextfield
+  * @brief sets the Text of the Text
+  * @param text The new Text.
+   */
+  void GLGuiTextfield::setText(const std::string& text)
+  {
+    this->_text.setText(text);
+    this->changedText();
+  }
+
+  /**
+   * @brief appends text to the Text
+   * @param appendText the Text to append
+   */
+  void GLGuiTextfield::append(const std::string& appendText)
+  {
+    this->_text.append(appendText);
+    this->changedText();
+  }
+
+
+  /**
+   * @brief appends a Character to the Text
+   * @param character the Character to append.
+   */
+  void GLGuiTextfield::appendCharacter(char character)
+  {
+    this->_text.appendCharacter(character);
+    this->changedText();
+  }
+
+
+  /**
+   * @brief Removes Characters from the Text
+   * @param chars The count of characters to remove
+   */
+  void GLGuiTextfield::removeCharacters(unsigned int chars)
+  {
+    this->_text.removeCharacters(chars);
+    this->changedText();
+  }
+
+  void GLGuiTextfield::clear()
+  {
+    this->_text.clear();
+    this->changedText();
+  }
+
+  /**
+  * @brief If the Text has been changed this function is called.
+  *
+  * This Function also emits the Signal textChanged.
+   */
+  void GLGuiTextfield::changedText()
+  {
+    this->resize();
+    this->setFrontColor(_changedTextColor, true);
+    emit(this->textChanged(this->_text.text()));
+  }
+
+  void GLGuiTextfield::setChangedTextColor(const Color& color)
+  {
+    this->_changedTextColor = color;
+  }
+
+  /**
+   * @brief Resizes the Widget to the new Size-constraints.
+   */
+  void GLGuiTextfield::resize()
+  {
+    this->_text.setRelCoor2D(borderLeft(), borderTop());
+    this->setSize2D( this->_text.getSize2D() + Vector2D(borderLeft() + borderRight(), borderTop() + borderBottom()));
+    //this->_text.setLineWidth(this->size2D);
+    GLGuiWidget::resize();
+    /*    this->frontRect().setTopLeft(borderLeft(), borderTop());
+    this->frontRect().setSize(this->getSize2D() - Vector2D(borderLeft() + borderRight(), borderTop() + borderBottom()));*/
+  }
+
+  void GLGuiTextfield::updateFrontColor()
+  {
+    this->_text.setColor(foregroundColor());
+  }
+
+  void GLGuiTextfield::hiding()
+  {
+    this->_text.setVisibility(false);
+  }
+
+  void GLGuiTextfield::showing()
+  {
+    this->_text.setVisibility(true);
+  }
+
+
+
+  /**
+   * draws the GLGuiTextfield
    */
   void GLGuiTextfield::draw() const
@@ -53,6 +158,7 @@
     GLGuiWidget::draw();
 
-/*    this->frontMaterial().select();
-    this->drawRect(this->frontRect());*/
+    //     this->frontMaterial().select();
+    //     GLGuiWidget::drawRect(this->frontRect());
+
     this->endDraw();
   }
Index: trunk/src/lib/gui/gl/glgui_textfield.h
===================================================================
--- trunk/src/lib/gui/gl/glgui_textfield.h	(revision 9014)
+++ trunk/src/lib/gui/gl/glgui_textfield.h	(revision 9015)
@@ -1,5 +1,5 @@
 /*!
  * @file glgui_textfield.h
- * The gl_ widget of th openglGUI
+ * The gl_TEXTFIELD widget of th openglGUI
  *
  */
@@ -9,10 +9,6 @@
 
 #include "glgui_widget.h"
-
-#include "text.h"
-#include <vector>
-
+#include "multi_line_text.h"
 // FORWARD DECLARATION
-class Text;
 namespace OrxGui
 {
@@ -29,14 +25,36 @@
     virtual ~GLGuiTextfield();
 
-    void init();
+    void setText(const std::string& text);
+    void append(const std::string& appendText);
+    void appendCharacter(char character);
+    void removeCharacters(unsigned int chars);
+    void clear();
 
-    void process(const Event& event);
+    void setChangedTextColor(const Color& color);
+
+    const std::string& text() const { return _text.text(); };
+
 
     virtual void draw() const;
 
+    DeclareSignal1(textChanged, const std::string&);
+
+  protected:
+    virtual void updateFrontColor();
+    virtual void hiding();
+    virtual void showing();
+    virtual void resize();
+
   private:
-    std::vector<Text>        textLines;
+    void init();
+    void changedText();
 
+
+  private:
+    MultiLineText      _text;
+
+    Color               _changedTextColor;
   };
 }
-#endif /* _GLGUI__H */
+
+#endif /* _GLGUI_TEXTFIELD_H */
Index: trunk/src/story_entities/menu/game_menu.cc
===================================================================
--- trunk/src/story_entities/menu/game_menu.cc	(revision 9014)
+++ trunk/src/story_entities/menu/game_menu.cc	(revision 9015)
@@ -251,4 +251,9 @@
     this->optionsBox = new OrxGui::GLGuiBox();
     {
+      OrxGui::GLGuiTextfield* WARNtext = new OrxGui::GLGuiTextfield();
+      WARNtext->setText("PLEASE USE THE EXTERNAL GUI\n FOR ORXONOX CONFIGURATION\n (start with './orxonox -g')");
+      optionsBox->pack(WARNtext);
+
+
       OrxGui::GLGuiButton* generalButton = new OrxGui::GLGuiPushButton("General");
       optionsBox->pack(generalButton);
