Index: trunk/src/lib/graphics/importer/material.cc
===================================================================
--- trunk/src/lib/graphics/importer/material.cc	(revision 6287)
+++ trunk/src/lib/graphics/importer/material.cc	(revision 6295)
@@ -75,5 +75,5 @@
 {
   // setting diffuse color
-  //  glColor3f (diffuse[0], diffuse[1], diffuse[2]);
+  glColor3f (diffuse[0], diffuse[1], diffuse[2]);
   glMaterialfv(GL_FRONT, GL_DIFFUSE, this->diffuse);
 
Index: trunk/src/lib/graphics/render2D/element_2d.cc
===================================================================
--- trunk/src/lib/graphics/render2D/element_2d.cc	(revision 6287)
+++ trunk/src/lib/graphics/render2D/element_2d.cc	(revision 6295)
@@ -25,5 +25,4 @@
 #include "graphics_engine.h"
 #include "load_param.h"
-#include "parser/tinyxml/tinyxml.h"
 #include "class_list.h"
 
@@ -42,5 +41,5 @@
 
 /**
- * standard constructor
+ * @brief standard constructor
  * @param parent the parent to set for this Element2D
  *
@@ -60,5 +59,5 @@
 
 /**
- * standard deconstructor
+ * @brief standard deconstructor
  *
  * There are two general ways to delete an Element2D
@@ -97,5 +96,5 @@
 
 /**
- * initializes a Element2D
+ * @brief initializes a Element2D
  */
 void Element2D::init()
@@ -121,5 +120,5 @@
 
 /**
- * Loads the Parameters of an Element2D from...
+ * @brief Loads the Parameters of an Element2D from...
  * @param root The XML-element to load from
  */
@@ -160,13 +159,10 @@
 
   // cycling properties
-  if (root != NULL)
-  {
-    LOAD_PARAM_START_CYCLE(root, element);
-    {
-      LoadParam_CYCLE(element, "parent", this, Element2D, addChild2D)
-          .describe("adds a new Child to the current Node.");
-    }
-    LOAD_PARAM_END_CYCLE(element);
-  }
+  LOAD_PARAM_START_CYCLE(root, element);
+  {
+    LoadParam_CYCLE(element, "parent", this, Element2D, addChild2D)
+        .describe("adds a new Child to the current Node.");
+  }
+  LOAD_PARAM_END_CYCLE(element);
 }
 
@@ -511,4 +507,5 @@
 void Element2D::addChild2D (Element2D* child)
 {
+  assert(child != NULL);
   if( likely(child->parent != NULL))
   {
@@ -662,4 +659,5 @@
 void Element2D::eraseChild(Element2D* child)
 {
+  assert (this != NULL && child != NULL);
   std::list<Element2D*>::iterator childIT = std::find(this->children.begin(), this->children.end(), child);
   this->children.erase(childIT);
@@ -667,5 +665,5 @@
 
 /**
- *  sets the mode of this parent manually
+ * @brief sets the mode of this parent manually
  * @param parentMode a String representing this parentingMode
  */
@@ -1051,6 +1049,5 @@
 
 /**
- *  creates the one and only NullElement2D
- * @param absCoordinate the cordinate of the Parent (normally Vector(0,0,0))
+ * @brief creates the one and only NullElement2D
  */
 NullElement2D::NullElement2D () : Element2D(NULL, E2D_LAYER_BELOW_ALL)
Index: trunk/src/lib/gui/gl_gui/glgui_bar.cc
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_bar.cc	(revision 6287)
+++ trunk/src/lib/gui/gl_gui/glgui_bar.cc	(revision 6295)
@@ -21,5 +21,5 @@
 
 /**
- * standard constructor
+ * @brief standard constructor
 */
 GLGuiBar::GLGuiBar ()
@@ -31,6 +31,6 @@
 
 /**
- * standard deconstructor
-*/
+ * @brief standard deconstructor
+ */
 GLGuiBar::~GLGuiBar()
 {
@@ -39,9 +39,14 @@
 
 /**
- * initializes the GUI-element
+ * @brief initializes the GUI-element
  */
 void GLGuiBar::init()
 {
   this->setClassID(CL_GLGUI_BAR, "GLGuiBar");
+
+  this->frontMat.setDiffuse(1,0,0);
+  this->frontMat.setTransparency(.99);
+
+  this->setSize2D(50, 10);
 
   this->value = 0.5f;
@@ -51,19 +56,21 @@
 
 /**
- * draws the GLGuiBar
+ * @brief draws the GLGuiBar
  */
 void GLGuiBar::draw() const
 {
+  this->startDraw();
 
-  printf("TEST %f %f\n", this->getAbsCoor2D().x, this->getAbsCoor2D().y);
   GLGuiWidget::draw();
 
+  this->frontMat.select();
   glBegin(GL_QUADS);
 
-  glVertex2d(.1, .1);
-  glVertex2d(.1, this->getSizeY2D()* .8 * (value/maximum));
-  glVertex2d(this->getSizeX2D(), this->getSizeY2D() * .8 * (value/maximum));
-  glVertex2d(this->getSizeX2D(), .1);
+  glVertex2f(.1 * this->getSizeX2D(), .1 * this->getSizeY2D());
+  glVertex2f(.1 * this->getSizeX2D(), this->getSizeY2D()* .9 * (value/maximum));
+  glVertex2f(this->getSizeX2D() * .9, this->getSizeY2D() * .9 * (value/maximum));
+  glVertex2f(this->getSizeX2D() * .9, .1 * this->getSizeY2D());
 
   glEnd();
+  this->endDraw();
 }
Index: trunk/src/lib/gui/gl_gui/glgui_pushbutton.cc
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_pushbutton.cc	(revision 6287)
+++ trunk/src/lib/gui/gl_gui/glgui_pushbutton.cc	(revision 6295)
@@ -46,4 +46,5 @@
 {
   this->setClassID(CL_GLGUI_PUSHBUTTON, "GLGuiPushButton");
+  this->frontMat.setDiffuse(1,0,0);
 //  this->label->setRelCoor2D(10, 10);
 }
@@ -56,6 +57,7 @@
   this->startDraw();
 
-  GLGuiButton::draw();
+//  GLGuiButton::draw();
 
+  this->frontMat.select();
   glBegin(GL_QUADS);
 
Index: trunk/src/lib/gui/gl_gui/glgui_widget.cc
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_widget.cc	(revision 6287)
+++ trunk/src/lib/gui/gl_gui/glgui_widget.cc	(revision 6295)
@@ -54,8 +54,7 @@
 //  this->setParent2D((Element2D*)NULL);
 
-  this->backMat = new Material();
-  this->backMat->setDiffuse(0, 0, 0);
+  this->backMat.setDiffuse(.1, .5, .5);
+  this->backMat.setTransparency(.9);
 
-  this->frontMat = NULL;
   this->frontModel = 0;
 
@@ -111,14 +110,11 @@
 void GLGuiWidget::draw() const
 {
-  this->backMat->select();
+  this->backMat.select();
 
   glBegin(GL_QUADS);
-
-
-  glVertex2d(0,0);
-  glVertex2d(0, this->getSizeY2D());
-  glVertex2d(this->getSizeX2D(), this->getSizeY2D());
-  glVertex2d(this->getSizeX2D(),0);
-
+   glVertex2d(0, 0);
+   glVertex2d(0, this->getSizeY2D());
+   glVertex2d(this->getSizeX2D(), this->getSizeY2D());
+   glVertex2d(this->getSizeX2D(), 0);
   glEnd();
 }
Index: trunk/src/lib/gui/gl_gui/glgui_widget.h
===================================================================
--- trunk/src/lib/gui/gl_gui/glgui_widget.h	(revision 6287)
+++ trunk/src/lib/gui/gl_gui/glgui_widget.h	(revision 6295)
@@ -10,4 +10,6 @@
 #include "event.h"
 
+#include "material.h"
+
 #include "glincl.h"
 #include "executor/executor.h"
@@ -19,12 +21,12 @@
 {
   GLGuiSignal_click     = 0,
-  GLGuiSignal_release   = 1,
-  GLGuiSignal_rollOn    = 2,
-  GLGuiSignal_rollOff   = 3,
-  GLGuiSignal_open      = 4,
-  GLGuiSignal_close     = 5,
-  GLGuiSignal_destroy   = 6,
+  GLGuiSignal_release,
+  GLGuiSignal_rollOn,
+  GLGuiSignal_rollOff,
+  GLGuiSignal_open,
+  GLGuiSignal_close,
+  GLGuiSignal_destroy,
 
-  GLGuiSignalCount      = 7,
+  GLGuiSignalCount,
 } GLGuiSignalType;
 
@@ -68,9 +70,9 @@
     inline void endDraw() const { glPopMatrix(); };
 
-  private:
-    Material*             backMat;
+  protected:
+    Material              backMat;
     GLuint                backModel;
 
-    Material*             frontMat;
+    Material              frontMat;
     GLuint                frontModel;
 
