Index: branches/gui/src/lib/event/event_handler.cc
===================================================================
--- branches/gui/src/lib/event/event_handler.cc	(revision 7926)
+++ branches/gui/src/lib/event/event_handler.cc	(revision 7928)
@@ -474,5 +474,5 @@
     {
       EventHandler::getInstance()->grabEvents( true);
-      return 0;
+      return 1;
     }
   }
Index: branches/gui/src/lib/gui/gl_gui/glgui.h
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui.h	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui.h	(revision 7928)
@@ -18,4 +18,5 @@
 //#include "glgui_colorselector.h"
 #include "glgui_pushbutton.h"
+#include "glgui_slider.h"
 #include "glgui_cursor.h"
 #include "glgui_inputline.h"
Index: branches/gui/src/lib/gui/gl_gui/glgui_bar.cc
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_bar.cc	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui_bar.cc	(revision 7928)
@@ -60,5 +60,5 @@
   void GLGuiBar::draw() const
   {
-    this->startDraw();
+    this->beginDraw();
 
     GLGuiWidget::draw();
Index: branches/gui/src/lib/gui/gl_gui/glgui_checkbutton.cc
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_checkbutton.cc	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui_checkbutton.cc	(revision 7928)
@@ -82,5 +82,5 @@
   void GLGuiCheckButton::draw() const
   {
-    this->startDraw();
+    this->beginDraw();
     GLGuiButton::draw();
 
Index: branches/gui/src/lib/gui/gl_gui/glgui_cursor.cc
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_cursor.cc	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui_cursor.cc	(revision 7928)
@@ -89,5 +89,5 @@
 
 
-      this->setAbsCoorSoft2D(newPos, 20);
+      this->setAbsCoor2D(newPos);
       movement = Vector2D();
     }
@@ -99,5 +99,5 @@
   void GLGuiCursor::draw() const
   {
-    this->startDraw();
+    this->beginDraw();
     GLGuiWidget::draw();
     this->endDraw();
Index: branches/gui/src/lib/gui/gl_gui/glgui_inputline.cc
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_inputline.cc	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui_inputline.cc	(revision 7928)
@@ -163,5 +163,5 @@
   void GLGuiInputLine::draw() const
   {
-    this->startDraw();
+    this->beginDraw();
     GLGuiWidget::draw();
 
Index: branches/gui/src/lib/gui/gl_gui/glgui_pushbutton.cc
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_pushbutton.cc	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui_pushbutton.cc	(revision 7928)
@@ -94,5 +94,5 @@
   void GLGuiPushButton::draw() const
   {
-    this->startDraw();
+    this->beginDraw();
     GLGuiButton::draw();
 
Index: branches/gui/src/lib/gui/gl_gui/glgui_slider.cc
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_slider.cc	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui_slider.cc	(revision 7928)
@@ -44,12 +44,64 @@
   {
     this->setClassID(CL_GLGUI_SLIDER, "GLGuiSlider");
+    this->_value = 0.0;
+    this->_minValue = 0.0;
+    this->_maxValue = 1.0;
+    this->_step = 0.1;
 
+    this->setSize2D(100, 30);
+    this->resize();
+  }
+
+
+  void GLGuiSlider::setValue(float value)
+  {
+    this->_value = value;
+  }
+
+  void GLGuiSlider::setMin(float minimum)
+  {
+    this->_minValue = minimum;
+  }
+
+  void GLGuiSlider::setMax(float maximum)
+  {
+    this->_maxValue = maximum;
+  }
+
+  void GLGuiSlider::setRange(float minimum, float maximum)
+  {
+    this->_minValue = minimum;
+    this->_maxValue = maximum;
+  }
+
+  void GLGuiSlider::setStep(float step)
+  {
+    this->_step = step;
+  }
+
+
+  void GLGuiSlider::resize()
+  {
+    GLGuiWidget::resize();
+    this->frontRect().setTopLeft(5, this->getSizeY2D()/2.0 - 1.0);
+    this->frontRect().setSize(this->getSizeX2D() - 10.0, 5);
   }
 
   /**
-   * draws the GLGuiSlider
+   * @brief draws the GLGuiSlider
    */
   void GLGuiSlider::draw() const
   {
+    this->beginDraw();
+    GLGuiWidget::draw();
+
+    this->frontMaterial().select();
+    this->drawRect(this->frontRect());
+
+    float percentagePosition = (this->_value - this->_minValue)/( this->_maxValue - this->_minValue);
+
+    this->drawRect(Rect2D(percentagePosition* this->getSizeX2D(), 2, 5, this->getSizeY2D() - 4));
+
+    this->endDraw();
   }
 }
Index: branches/gui/src/lib/gui/gl_gui/glgui_slider.h
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_slider.h	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui_slider.h	(revision 7928)
@@ -45,8 +45,10 @@
 
     virtual void draw() const;
+  protected:
+    void resize();
 
   private:
     void init();
-    private:
+  private:
 
     Orientation      orientation;
Index: branches/gui/src/lib/gui/gl_gui/glgui_widget.h
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_widget.h	(revision 7926)
+++ branches/gui/src/lib/gui/gl_gui/glgui_widget.h	(revision 7928)
@@ -135,5 +135,5 @@
 
 
-    inline void startDraw() const { glPushMatrix(); glTranslatef(this->getAbsCoor2D().x, this->getAbsCoor2D().y, 0); };
+    inline void beginDraw() const { glPushMatrix(); glTranslatef(this->getAbsCoor2D().x, this->getAbsCoor2D().y, 0); };
     inline void endDraw() const { glPopMatrix(); };
 
