Index: trunk/src/lib/coord/p_node.cc
===================================================================
--- trunk/src/lib/coord/p_node.cc	(revision 5405)
+++ trunk/src/lib/coord/p_node.cc	(revision 5406)
@@ -12,6 +12,4 @@
    main-programmer: Patrick Boenzli
    co-programmer:
-
-   @todo Smooth-Parent: delay, speed
 */
 
@@ -31,6 +29,5 @@
 #include "vector.h"
 
-//#include "vector.h"
-//#include "quaternion.h"
+#include "color.h"
 
 using namespace std;
@@ -278,4 +275,31 @@
   this->setAbsCoor(Vector(x, y, z));
 }
+
+/**
+ * @param absCoord set absolute coordinate
+ * @todo check off
+ */
+void PNode::setAbsCoorSoft (const Vector& absCoordSoft, float bias)
+{
+  if (this->toCoordinate == NULL)
+    this->toCoordinate = new Vector;
+
+  if( likely(this->parentMode & PNODE_MOVEMENT))
+  {
+      /* if you have set the absolute coordinates this overrides all other changes */
+    if (likely(this->parent != NULL))
+      *this->toCoordinate = absCoordSoft - parent->getAbsCoor ();
+    else
+      *this->toCoordinate = absCoordSoft;
+  }
+  if( this->parentMode & PNODE_ROTATE_MOVEMENT)
+  {
+    if (likely(this->parent != NULL))
+      *this->toCoordinate = absCoordSoft - parent->getAbsCoor ();
+    else
+      *this->toCoordinate = absCoordSoft;
+  }
+}
+
 
 /**
@@ -695,5 +719,4 @@
   }
 }
-#include "color.h"
 
 /**
@@ -767,5 +790,5 @@
     {
       // drawing the Dependency graph
-      if (this != NullParent::getInstance())
+     if (this != NullParent::getInstance())
       {
        glBegin(GL_LINES);
Index: trunk/src/lib/coord/p_node.h
===================================================================
--- trunk/src/lib/coord/p_node.h	(revision 5405)
+++ trunk/src/lib/coord/p_node.h	(revision 5406)
@@ -65,4 +65,6 @@
   void setAbsCoor (const Vector& absCoord);
   void setAbsCoor (float x, float y, float z);
+  void setAbsCoorSoft(const Vector& absCoordSoft, float bias = 1.0);
+  void setAbsCoorSoft(float x, float y, float z, float bias = 1.0);
   /** @returns the absolute position */
   inline const Vector& getAbsCoor () const { return this->absCoordinate; };
Index: trunk/src/lib/graphics/graphics_engine.cc
===================================================================
--- trunk/src/lib/graphics/graphics_engine.cc	(revision 5405)
+++ trunk/src/lib/graphics/graphics_engine.cc	(revision 5406)
@@ -508,5 +508,5 @@
 void GraphicsEngine::update(float dt)
 {
-  NullElement2D::getInstance()->update2D(dt);
+  Render2D::getInstance()->update(dt);
 }
 
Index: trunk/src/lib/graphics/render2D/render_2d.cc
===================================================================
--- trunk/src/lib/graphics/render2D/render_2d.cc	(revision 5405)
+++ trunk/src/lib/graphics/render2D/render_2d.cc	(revision 5406)
@@ -52,4 +52,14 @@
 
 /**
+ * updates all the 2d-elements
+ * @param dt the timestep since last dt
+ */
+void Render2D::update(float dt)
+{
+  NullElement2D::getInstance()->update2D(dt);
+}
+
+
+/**
  * ticks all the 2d-elements
  * @param dt the timestep since last dt
Index: trunk/src/lib/graphics/render2D/render_2d.h
===================================================================
--- trunk/src/lib/graphics/render2D/render_2d.h	(revision 5405)
+++ trunk/src/lib/graphics/render2D/render_2d.h	(revision 5406)
@@ -22,4 +22,5 @@
     inline static Render2D* getInstance() { if (!singletonRef) singletonRef = new Render2D();  return singletonRef; };
 
+    void update(float dt);
     void tick(float dt);
     void draw(short layer) const;
Index: trunk/src/lib/gui/gl_gui/Makefile.am
===================================================================
--- trunk/src/lib/gui/gl_gui/Makefile.am	(revision 5405)
+++ trunk/src/lib/gui/gl_gui/Makefile.am	(revision 5406)
@@ -10,6 +10,6 @@
 
 libORXglgui_a_SOURCES = glmenu/glmenu_imagescreen.cc \
-			glgui_handler.cc \
-			glgui_mainwidget.cc \
+                        glgui_handler.cc \
+                        glgui_mainwidget.cc \
                         glgui_widget.cc \
                         glgui_button.cc \
Index: trunk/src/lib/gui/gl_gui/Makefile.in
===================================================================
--- trunk/src/lib/gui/gl_gui/Makefile.in	(revision 5405)
+++ trunk/src/lib/gui/gl_gui/Makefile.in	(revision 5406)
@@ -202,6 +202,6 @@
 libORXglgui_a_CPPFLAGS = -DBUILD_ORXONOX
 libORXglgui_a_SOURCES = glmenu/glmenu_imagescreen.cc \
-			glgui_handler.cc \
-			glgui_mainwidget.cc \
+                        glgui_handler.cc \
+                        glgui_mainwidget.cc \
                         glgui_widget.cc \
                         glgui_button.cc \
Index: trunk/src/lib/gui/gl_gui/glgui_handler.cc
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_handler.cc	(revision 5405)
+++ trunk/src/lib/gui/gl_gui/glgui_handler.cc	(revision 5406)
@@ -18,4 +18,6 @@
 #include "glgui_handler.h"
 #include "event_handler.h"
+
+#include "glgui_mainwidget.h"
 
 using namespace std;
@@ -63,2 +65,13 @@
 
 }
+
+void GLGuiHandler::draw()
+{
+  GLGuiMainWidget::getInstance()->draw2D(E2D_LAYER_TOP);
+}
+
+
+void GLGuiHandler::tick(float dt)
+{
+
+}
Index: trunk/src/lib/gui/gl_gui/glgui_handler.h
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_handler.h	(revision 5405)
+++ trunk/src/lib/gui/gl_gui/glgui_handler.h	(revision 5406)
@@ -17,5 +17,5 @@
   virtual ~GLGuiHandler(void);
   /** @returns a Pointer to the only object of this Class */
-  inline static GLGuiHandler* getInstance(void) { if (!singletonRef) singletonRef = new GLGuiHandler();  return singletonRef; };
+  inline static GLGuiHandler* getInstance(void) { if (!GLGuiHandler::singletonRef) GLGuiHandler::singletonRef = new GLGuiHandler();  return GLGuiHandler::singletonRef; };
 
   void activate();
@@ -24,4 +24,6 @@
 
   virtual void process(const Event &event);
+  void draw();
+  void tick(float dt);
 
  private:
Index: trunk/src/lib/gui/gl_gui/glgui_widget.cc
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_widget.cc	(revision 5405)
+++ trunk/src/lib/gui/gl_gui/glgui_widget.cc	(revision 5406)
@@ -50,5 +50,5 @@
   this->clickable = true;
   this->setVisibility(GLGUI_WIDGET_DEFAULT_VISIBLE);
-  this->setParent2D((Element2D*)NULL);
+//  this->setParent2D((Element2D*)NULL);
 
   this->backMat = NULL;
Index: trunk/src/lib/shell/shell_completion.cc
===================================================================
--- trunk/src/lib/shell/shell_completion.cc	(revision 5405)
+++ trunk/src/lib/shell/shell_completion.cc	(revision 5406)
@@ -33,5 +33,5 @@
 /**
  * standard constructor
-*/
+ */
 ShellCompletion::ShellCompletion(ShellInput* input)
 {
@@ -43,5 +43,5 @@
 /**
  * standard deconstructor
-*/
+ */
 ShellCompletion::~ShellCompletion ()
 {
@@ -299,5 +299,5 @@
 
 /**
- * searches for classes, which beginn with completionBegin
+ * @brief searches for classes, which beginn with completionBegin
  * @param inputList the List to parse through
  * @param completionBegin the beginning string
