Index: /branches/gui/src/lib/gui/gl/Makefile.am
===================================================================
--- /branches/gui/src/lib/gui/gl/Makefile.am	(revision 10163)
+++ /branches/gui/src/lib/gui/gl/Makefile.am	(revision 10164)
@@ -25,4 +25,5 @@
 		glgui_frame.cc \
 		glgui_text.cc \
+		glgui_multiline_text.cc \
 		glgui_inputline.cc \
 		glgui_textfield.cc \
@@ -53,4 +54,5 @@
 		glgui_frame.h \
 		glgui_text.h \
+		glgui_multiline_text.h \
 		glgui_inputline.h \
 		glgui_textfield.h \
Index: /branches/gui/src/lib/gui/gl/glgui_container.cc
===================================================================
--- /branches/gui/src/lib/gui/gl/glgui_container.cc	(revision 10163)
+++ /branches/gui/src/lib/gui/gl/glgui_container.cc	(revision 10164)
@@ -43,5 +43,5 @@
     this->registerObject(this, GLGuiContainer::_objectList);
 
-    this->setBackgroundTexture("gui_container_background.png");
+//    this->setBackgroundTexture("gui_container_background.png");
 
   }
Index: /branches/gui/src/lib/gui/gl/glgui_multiline_text.cc
===================================================================
--- /branches/gui/src/lib/gui/gl/glgui_multiline_text.cc	(revision 10164)
+++ /branches/gui/src/lib/gui/gl/glgui_multiline_text.cc	(revision 10164)
@@ -0,0 +1,180 @@
+/*
+   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_multiline_text.h"
+
+#include "text.h"
+
+namespace OrxGui
+{
+  ObjectListDefinition(GLGuiMultiLineText);
+  /**
+   * standard constructor
+  */
+  GLGuiMultiLineText::GLGuiMultiLineText ()
+  {
+    this->init();
+
+  }
+
+
+  /**
+   * standard deconstructor
+  */
+  GLGuiMultiLineText::~GLGuiMultiLineText()
+  {}
+
+  /**
+   * initializes the GUI-element
+   */
+  void GLGuiMultiLineText::init()
+  {
+    this->registerObject(this, GLGuiMultiLineText::_objectList);
+
+    this->_text.setParent2D(this);
+    this->_text.setRelCoor2D(4,4);
+    this->_text.setFont("fonts/final_frontier.ttf", 20);
+    this->_text.setLineWidth(400);
+//     this->_text.setDotsPosition(LimitedWidthText::Begin);
+    this->_text.setColor(foregroundColor());
+    this->_text.setVisibility(false);
+    this->_changedTextColor = Color::white;
+    this->resize();
+  }
+
+  /**
+  * @brief sets the Text of the Text
+  * @param text The new Text.
+   */
+  void GLGuiMultiLineText::setText(const std::string& text)
+  {
+    this->_text.setText(text);
+    this->changedText();
+  }
+
+  /**
+   * @brief appends text to the Text
+   * @param appendText the Text to append
+   */
+  void GLGuiMultiLineText::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 GLGuiMultiLineText::appendCharacter(char character)
+  {
+    this->_text.appendCharacter(character);
+    this->changedText();
+  }
+
+
+  /**
+   * @brief Removes Characters from the Text
+   * @param chars The count of characters to remove
+   */
+  void GLGuiMultiLineText::removeCharacters(unsigned int chars)
+  {
+    this->_text.removeCharacters(chars);
+    this->changedText();
+  }
+
+  void GLGuiMultiLineText::clear()
+  {
+    this->_text.clear();
+    this->resize();
+  }
+
+
+  /**
+  * @brief If the Text has been changed this function is called.
+  *
+  * This Function also emits the Signal textChanged.
+   */
+  void GLGuiMultiLineText::changedText()
+  {
+    this->resize();
+    this->setFrontColor(_changedTextColor, true);
+    this->textChanged.emit(this->_text.text());
+  }
+
+  void GLGuiMultiLineText::setTextSize(float size)
+  {
+    this->_text.setSize(size);
+    this->changedText();
+  }
+
+  void GLGuiMultiLineText::setFont(const Font& font)
+  {
+    GLGuiWidget::setFont(font);
+    this->_text.setFont(font);
+  }
+
+  void GLGuiMultiLineText::setChangedTextColor(const Color& color)
+  {
+    this->_changedTextColor = color;
+  }
+
+  /**
+   * @brief Resizes the Widget to the new Size-constraints.
+   */
+  void GLGuiMultiLineText::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 GLGuiMultiLineText::updateFrontColor()
+  {
+    this->_text.setColor(foregroundColor());
+  }
+
+  void GLGuiMultiLineText::hiding()
+  {
+    this->_text.setVisibility(false);
+  }
+
+  void GLGuiMultiLineText::showing()
+  {
+    this->_text.setVisibility(true);
+  }
+
+
+
+  /**
+   * draws the GLGuiMultiLineText
+   */
+  void GLGuiMultiLineText::draw() const
+  {
+    this->beginDraw();
+    GLGuiWidget::draw();
+
+    //     this->frontMaterial().select();
+    //     GLGuiWidget::drawRect(this->frontRect());
+
+    this->endDraw();
+  }
+}
Index: /branches/gui/src/lib/gui/gl/glgui_multiline_text.h
===================================================================
--- /branches/gui/src/lib/gui/gl/glgui_multiline_text.h	(revision 10164)
+++ /branches/gui/src/lib/gui/gl/glgui_multiline_text.h	(revision 10164)
@@ -0,0 +1,65 @@
+/*!
+ * @file glgui_multiline_text.h
+ * The gl_TEXT widget of th openglGUI
+ *
+ */
+
+#ifndef _GLGUI_MULTILINE_TEXT_H
+#define _GLGUI_MULTILINE_TEXT_H
+
+#include "glgui_widget.h"
+#include "multi_line_text.h"
+// FORWARD DECLARATION
+namespace OrxGui
+{
+
+  //! This is part of the openglGUI class
+  /**
+   *
+   */
+  class GLGuiMultiLineText : public GLGuiWidget
+  {
+    ObjectListDeclaration(GLGuiMultiLineText);
+  public:
+    GLGuiMultiLineText();
+    virtual ~GLGuiMultiLineText();
+
+    void setText(const std::string& text);
+    void append(const std::string& appendText);
+    void appendCharacter(char character);
+    void removeCharacters(unsigned int chars);
+    void clear();
+
+    void setTextSize(float size);
+    virtual void setFont(const Font& font);
+    void setChangedTextColor(const Color& color);
+
+    void setLineWidth(float lineWidth) { this->_text.setLineWidth(lineWidth); };
+//    void setDotsPosition(LimitedWidthText::DotsPosition dotsPosition) { this->_text.setDotsPosition(dotsPosition); };
+
+    const std::string& text() const { return _text.text(); };
+
+
+    virtual void draw() const;
+
+    sigslot::signal1<const std::string&> textChanged;
+
+  protected:
+    virtual void updateFrontColor();
+    virtual void hiding();
+    virtual void showing();
+    virtual void resize();
+
+  private:
+    void init();
+    void changedText();
+
+
+  private:
+    MultiLineText       _text;
+
+    Color               _changedTextColor;
+  };
+}
+
+#endif /* _GLGUI_MULTILINE_TEXT_H */
Index: /branches/gui/src/lib/gui/gl/glgui_widget.cc
===================================================================
--- /branches/gui/src/lib/gui/gl/glgui_widget.cc	(revision 10163)
+++ /branches/gui/src/lib/gui/gl/glgui_widget.cc	(revision 10164)
@@ -112,6 +112,6 @@
 
 
-    this->setBackgroundColor(Color(.51, .3, .3, .5));
-    this->setBackgroundColor(Color(.3, .5, .3, 1), OrxGui::Selected);
+    this->setBackgroundColor(Color(.51, .3, .3, 0));
+    this->setBackgroundColor(Color(.51, .3, .3, 0), OrxGui::Selected);
     this->_style[0]._background.setBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
     this->_style[1]._background.setBlendFunc( GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
@@ -127,5 +127,5 @@
 
     this->setBorderLeft(15);
-    this->setBackgroundTexture("gui_element_background.png");
+    //this->setBackgroundTexture("gui_element_background.png");
 
     this->switchState(_state);
Index: /branches/gui/src/world_entities/elements/glgui_energywidget.cc
===================================================================
--- /branches/gui/src/world_entities/elements/glgui_energywidget.cc	(revision 10163)
+++ /branches/gui/src/world_entities/elements/glgui_energywidget.cc	(revision 10164)
@@ -37,5 +37,5 @@
     this->_valueText.setChangedTextColor(Color::white);
 
-    //this->setBackgroundTexture("maps/gui_element_background_2.png");
+    this->setBackgroundTexture("maps/gui_element_background_2.png");
     this->setBackgroundColor(Color(.5,.5,.5,1));
 
Index: /branches/gui/src/world_entities/questGUI/quest.cc
===================================================================
--- /branches/gui/src/world_entities/questGUI/quest.cc	(revision 10163)
+++ /branches/gui/src/world_entities/questGUI/quest.cc	(revision 10164)
@@ -37,5 +37,5 @@
 #include "glgui.h"
 #include "menu/glgui_imagebutton.h"
-#include "glgui_text.h"
+#include "glgui_multiline_text.h"
 #include <glgui_image.h>
 
Index: /branches/gui/src/world_entities/questGUI/quest_gui.cc
===================================================================
--- /branches/gui/src/world_entities/questGUI/quest_gui.cc	(revision 10163)
+++ /branches/gui/src/world_entities/questGUI/quest_gui.cc	(revision 10164)
@@ -43,5 +43,5 @@
 #include "glgui.h"
 #include "menu/glgui_imagebutton.h"
-#include "glgui_text.h"
+#include "glgui_multiline_text.h"
 #include <glgui_image.h>
 
@@ -70,4 +70,6 @@
   
   this->bKillGui = false;
+  
+  this->background = "/pictures/map.jpg";
 
   this->myQuest = new Quest(root);
@@ -114,16 +116,15 @@
       questImage->loadImageFromFile(this->myQuest->getQuestPicture());
       questImage->show();
-      questImage->setBorderBottom(20);
+      //questImage->setBorderBottom(20);
       headerBox->pack(questImage);
-      headerBox->setBorderBottom(20);
       
       OrxGui::GLGuiBox* outlineBox = new OrxGui::GLGuiBox(OrxGui::Vertical);
       {
-        OrxGui::GLGuiText* questDifficulty = new OrxGui::GLGuiText();
+        OrxGui::GLGuiMultiLineText* questDifficulty = new OrxGui::GLGuiMultiLineText();
         questDifficulty->setText(this->myQuest->getQuestDifficulty());
         outlineBox->pack(questDifficulty);
       }
       headerBox->pack(outlineBox);
-      headerBox->setBorderBottom(75);
+      headerBox->setBorderBottom(100);
       
     }
@@ -131,8 +132,9 @@
     OrxGui::GLGuiBox* labelBox = new OrxGui::GLGuiBox(OrxGui::Vertical);
     { 
-      OrxGui::GLGuiText* questTxt = new OrxGui::GLGuiText();
+      OrxGui::GLGuiMultiLineText* questTxt = new OrxGui::GLGuiMultiLineText();
       questTxt->setText(this->myQuest->getQuestDescription());
       labelBox->pack(questTxt);
-      labelBox->setBorderBottom(75);
+      labelBox->setBorderBottom(100);
+      labelBox->setBorderTop(100);
     }
     
@@ -145,10 +147,10 @@
       rewardImage->show();
       rewardBox->pack(rewardImage);
-      rewardImage->setBorderBottom(50);
-    
-      OrxGui::GLGuiText* rewardTxt = new OrxGui::GLGuiText();
+      //rewardImage->setBorderBottom(50);
+    
+      OrxGui::GLGuiMultiLineText* rewardTxt = new OrxGui::GLGuiMultiLineText();
       rewardTxt->setText(this->myQuest->getRewardDescription());
       rewardBox->pack(rewardTxt);
-      rewardBox->setBorderBottom(75);
+      rewardBox->setBorderBottom(100);
       
     }
@@ -172,5 +174,5 @@
     this->questBox->showAll();
     
-    this->questBox->setAbsCoor2D(300, 40);
+    this->questBox->setAbsCoor2D(300, 200);
     OrxGui::GLGuiHandler::getInstance()->activate();
     OrxGui::GLGuiHandler::getInstance()->activateCursor();
Index: /branches/gui/src/world_entities/questGUI/quest_gui.h
===================================================================
--- /branches/gui/src/world_entities/questGUI/quest_gui.h	(revision 10163)
+++ /branches/gui/src/world_entities/questGUI/quest_gui.h	(revision 10164)
@@ -28,4 +28,5 @@
     Quest*                  myQuest;
     bool                    bKillGui;
+    std::string             background;
     
     OrxGui::GLGuiBox*       headerBox;
