Index: /branches/gui/src/defs/class_id.h
===================================================================
--- /branches/gui/src/defs/class_id.h	(revision 7891)
+++ /branches/gui/src/defs/class_id.h	(revision 7892)
@@ -332,4 +332,6 @@
   CL_GLGUI_BAR                  =    0x00000b30,
   CL_GLGUI_CURSOR               =    0x00000b50,
+  CL_GLGUI_INPUTLINE            =    0x00000b60,
+  CL_GLGUI_TEXTFIELD            =    0x00000b61,
 
   // QT_GUI
Index: /branches/gui/src/lib/graphics/render2D/element_2d.h
===================================================================
--- /branches/gui/src/lib/graphics/render2D/element_2d.h	(revision 7891)
+++ /branches/gui/src/lib/graphics/render2D/element_2d.h	(revision 7892)
@@ -126,4 +126,6 @@
 
     inline void setSize2D(float x, float y) { this->size = Vector2D(x, y); };
+    inline void setSize2D(const Vector2D& size) { this->size = size; };
+    inline const Vector2D& getSize2D() const { return this->size; };
     void setSizeSoft2D(float x, float y, float bias = 1.0);
     inline void setSizeX2D(float x) { this->size.x = x; };
Index: /branches/gui/src/lib/graphics/text_engine/text.cc
===================================================================
--- /branches/gui/src/lib/graphics/text_engine/text.cc	(revision 7891)
+++ /branches/gui/src/lib/graphics/text_engine/text.cc	(revision 7892)
@@ -136,4 +136,13 @@
   return this->text;
 }
+
+/**
+ * @brief removes char characters from the Text.
+ */
+void Text::removeCharacters(unsigned int chars)
+{
+  this->text.resize(this->text.size()-chars);
+}
+
 
 /**
Index: /branches/gui/src/lib/graphics/text_engine/text.h
===================================================================
--- /branches/gui/src/lib/graphics/text_engine/text.h	(revision 7891)
+++ /branches/gui/src/lib/graphics/text_engine/text.h	(revision 7892)
@@ -38,4 +38,5 @@
     void append(const std::string& appendText);
     const std::string& operator<<(const std::string& appendText);
+    void removeCharacters(unsigned int chars);
 
     /// SETUP
Index: /branches/gui/src/lib/gui/gl_gui/Makefile.am
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/Makefile.am	(revision 7891)
+++ /branches/gui/src/lib/gui/gl_gui/Makefile.am	(revision 7892)
@@ -21,4 +21,6 @@
 		glgui_box.cc \
 		glgui_frame.cc \
+		glgui_inputline.cc \
+		glgui_textfield.cc \
 		glgui_window.cc \
 		glgui_cursor.cc
@@ -38,4 +40,6 @@
 		glgui_box.h \
 		glgui_frame.h \
+		glgui_inputline.h \
+		glgui_textfield.h \
 		glgui_window.h \
 		glgui_cursor.h
Index: /branches/gui/src/lib/gui/gl_gui/glgui.h
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui.h	(revision 7891)
+++ /branches/gui/src/lib/gui/gl_gui/glgui.h	(revision 7892)
@@ -18,4 +18,6 @@
 #include "glgui_pushbutton.h"
 #include "glgui_cursor.h"
+#include "glgui_inputline.h"
+#include "glgui_textfield.h"
 
 namespace OrxGui
Index: /branches/gui/src/lib/gui/gl_gui/glgui_inputline.cc
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui_inputline.cc	(revision 7892)
+++ /branches/gui/src/lib/gui/gl_gui/glgui_inputline.cc	(revision 7892)
@@ -0,0 +1,90 @@
+/*
+   orxonox - the future of 3D-vertical-scrollers
+
+   Copyright (C) 2004 orx
+
+   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, or (at your option)
+   any later version.
+
+   ### File Specific:
+   main-programmer: Benjamin Grauer
+   co-programmer: ...
+*/
+
+#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_GUI
+
+#include "glgui_inputline.h"
+
+namespace OrxGui
+{
+  /**
+   * standard constructor
+  */
+  GLGuiInputLine::GLGuiInputLine ()
+  {
+    this->init();
+
+  }
+
+
+  /**
+   * standard deconstructor
+  */
+  GLGuiInputLine::~GLGuiInputLine()
+  {
+  }
+
+  /**
+   * initializes the GUI-element
+   */
+  void GLGuiInputLine::init()
+  {
+    this->setClassID(CL_GLGUI_INPUTLINE, "GLGuiInputLine");
+    this->text.setParent2D(this);
+    this->text.setFont("fonts/final_frontier.ttf", 20);
+
+    this->setText("SUPERTEST");
+    this->setSize2D( this->text.getSize2D());
+
+  }
+
+  void GLGuiInputLine::setText(const std::string& text)
+  {
+    this->text.setText(text);
+  }
+
+  void GLGuiInputLine::append(const std::string& appendText)
+  {
+    this->text.append(appendText);
+
+  }
+
+  void GLGuiInputLine::removeCharacters(unsigned int chars)
+  {
+    this->text.removeCharacters(chars);
+  }
+
+
+
+  /**
+   * draws the GLGuiInputLine
+   */
+  void GLGuiInputLine::draw() const
+  {
+    this->startDraw();
+    GLGuiWidget::draw();
+
+    this->frontMaterial().select();
+    glBegin(GL_QUADS);
+
+    glTexCoord2i(0,0); glVertex2d(3, 3);
+    glTexCoord2i(0,1); glVertex2d(3, this->getSizeY2D() - 3);
+    glTexCoord2i(1,1); glVertex2d(this->getSizeX2D() - 3, this->getSizeY2D() -3);
+    glTexCoord2i(1,0); glVertex2d(this->getSizeX2D() - 3, 3);
+
+    glEnd();
+    this->endDraw();
+  }
+}
Index: /branches/gui/src/lib/gui/gl_gui/glgui_inputline.h
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui_inputline.h	(revision 7892)
+++ /branches/gui/src/lib/gui/gl_gui/glgui_inputline.h	(revision 7892)
@@ -0,0 +1,43 @@
+/*!
+ * @file glgui_inputline.h
+ * The gl_INPUTLINE widget of th openglGUI
+ *
+ */
+
+#ifndef _GLGUI_INPUTLINE_H
+#define _GLGUI_INPUTLINE_H
+
+#include "glgui_widget.h"
+#include "text.h"
+
+
+// FORWARD DECLARATION
+namespace OrxGui
+{
+
+  //! This is part of the openglGUI class
+  /**
+   *
+   */
+  class GLGuiInputLine : public OrxGui::GLGuiWidget
+  {
+
+  public:
+    GLGuiInputLine();
+    virtual ~GLGuiInputLine();
+
+    void init();
+
+    void setText(const std::string& text);
+    void append(const std::string& appendText);
+    void removeCharacters(unsigned int chars);
+    const std::string& getName() const { return this->text.getText(); };
+
+    virtual void draw() const;
+
+  private:
+    Text                    text;
+  };
+}
+
+#endif /* _GLGUI_INPUTLINE_H */
Index: /branches/gui/src/lib/gui/gl_gui/glgui_textfield.cc
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui_textfield.cc	(revision 7891)
+++ /branches/gui/src/lib/gui/gl_gui/glgui_textfield.cc	(revision 7892)
@@ -16,5 +16,5 @@
 #define DEBUG_SPECIAL_MODULE DEBUG_MODULE_GUI
 
-#include "glgui_textfield_.h"
+#include "glgui_textfield.h"
 namespace OrxGui
 {
@@ -42,5 +42,6 @@
   void GLGuiTextfield::init()
   {
-    this->setClassID(CL_GLGUI_, "GLGuiTextfield");
+    this->setClassID(CL_GLGUI_TEXTFIELD, "GLGuiTextfield");
+
 
   }
@@ -49,5 +50,5 @@
    * draws the GLGuiTextfield
    */
-  void GLGuiTextfield::draw()
+  void GLGuiTextfield::draw() const
   {
   }
Index: /branches/gui/src/lib/gui/gl_gui/glgui_textfield.h
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui_textfield.h	(revision 7891)
+++ /branches/gui/src/lib/gui/gl_gui/glgui_textfield.h	(revision 7892)
@@ -9,4 +9,7 @@
 
 #include "glgui_widget.h"
+
+#include "text.h"
+#include <vector>
 
 // FORWARD DECLARATION
@@ -28,8 +31,10 @@
     void init();
 
-    virtual void draw();
+    void process(const Event& event);
+
+    virtual void draw() const;
 
   private:
-    std::list<Text*>      textLines;
+    std::vector<Text>        textLines;
 
   };
Index: /branches/gui/src/story_entities/simple_game_menu.cc
===================================================================
--- /branches/gui/src/story_entities/simple_game_menu.cc	(revision 7891)
+++ /branches/gui/src/story_entities/simple_game_menu.cc	(revision 7892)
@@ -78,4 +78,7 @@
   rdnpb->setAbsCoor2D(200, 180);
   rdnpb->connectSignal(OrxGui::Signal_release, this, createExecutor<SimpleGameMenu>(&SimpleGameMenu::quitMenu));
+
+  OrxGui::GLGuiInputLine* input = new OrxGui::GLGuiInputLine();
+  input->show();
 
   OrxGui::GLGuiHandler::getInstance()->activateCursor();
