Index: /branches/gui/src/lib/gui/gl_gui/glgui.h
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui.h	(revision 7923)
+++ /branches/gui/src/lib/gui/gl_gui/glgui.h	(revision 7924)
@@ -7,4 +7,5 @@
 #define _GLGUI_H
 
+#include "glgui_defs.h"
 #include "glgui_handler.h"
 
Index: /branches/gui/src/lib/gui/gl_gui/glgui_cursor.cc
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui_cursor.cc	(revision 7923)
+++ /branches/gui/src/lib/gui/gl_gui/glgui_cursor.cc	(revision 7924)
@@ -88,5 +88,5 @@
 
 
-      this->setAbsCoorSoft2D(newPos, 10);
+      this->setAbsCoor2D(newPos);
       movement = Vector2D();
     }
Index: /branches/gui/src/lib/gui/gl_gui/glgui_slider.h
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui_slider.h	(revision 7923)
+++ /branches/gui/src/lib/gui/gl_gui/glgui_slider.h	(revision 7924)
@@ -26,13 +26,33 @@
     virtual ~GLGuiSlider();
 
-    void init();
+    /** @returns the Value of the Slider. */
+    float value() const { return this->_value; }
+    /** @returns the minimum of the sliders range */
+    float min() const { return this->_minValue; };
+    /** @returns the maximum of the sliders range */
+    float max() const { return this->_maxValue; };
+    /** @returns the step size */
+    float step() const { return this->_step; };
+
+    void setValue(float value);
+
+    void setMin(float minimum);
+    void setMax(float maximum);
+    void setRange(float minimum, float maximum);
+
+    void setStep(float step);
+
 
     virtual void draw() const;
 
   private:
+    void init();
+    private:
+
     Orientation      orientation;
 
     float            _maxValue;
     float            _minValue;
+    float            _step;
 
     float            _value;
Index: /branches/gui/src/lib/gui/gl_gui/glgui_widget.cc
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui_widget.cc	(revision 7923)
+++ /branches/gui/src/lib/gui/gl_gui/glgui_widget.cc	(revision 7924)
@@ -28,14 +28,17 @@
 
   /**
-   * standard constructor
+   * @brief standard constructor
   */
-  GLGuiWidget::GLGuiWidget ( )
+  GLGuiWidget::GLGuiWidget (GLGuiWidget* parent)
   {
     this->init();
-  }
-
-
-  /**
-   * standard deconstructor
+
+    if (parent != NULL)
+      parent->addChild2D(this);
+  }
+
+
+  /**
+   * @brief standard deconstructor
    */
   GLGuiWidget::~GLGuiWidget()
@@ -63,6 +66,6 @@
     this->setVisibility(GLGUI_WIDGET_DEFAULT_VISIBLE);
 
-    this->backMat.setDiffuse(1.0, 1.0, 1.0);
-    this->frontMat.setDiffuse(1.0, 0.0, 0.0);
+    this->_backMat.setDiffuse(1.0, 1.0, 1.0);
+    this->_frontMat.setDiffuse(1.0, 0.0, 0.0);
 
     this->widgetSignals.resize(SignalCount, SignalConnector());
@@ -130,5 +133,5 @@
   void GLGuiWidget::released()
   {
-    this->frontMat.setDiffuse(0,1,0);
+    this->frontMaterial().setDiffuse(0,1,0);
 
   }
@@ -194,5 +197,5 @@
   void GLGuiWidget::draw() const
   {
-    this->backMat.select();
+    this->backMaterial().select();
 
     glBegin(GL_QUADS);
Index: /branches/gui/src/lib/gui/gl_gui/glgui_widget.h
===================================================================
--- /branches/gui/src/lib/gui/gl_gui/glgui_widget.h	(revision 7923)
+++ /branches/gui/src/lib/gui/gl_gui/glgui_widget.h	(revision 7924)
@@ -53,5 +53,5 @@
 
   public:
-    GLGuiWidget();
+    GLGuiWidget(GLGuiWidget* parent = NULL);
     virtual ~GLGuiWidget();
 
@@ -92,9 +92,22 @@
 
     /// MATERIAL (looks)
-    Material& backMaterial() { return this->backMat; };
-    const Material& backMaterial() const { return this->backMat; };
+    Material& backMaterial() { return this->_backMat; };
+    const Material& backMaterial() const { return this->_backMat; };
+    Rect2D& backRect() { return this->_backRect; };
+    const Rect2D& backRect() const { return this->_backRect; };
 
-    Material& frontMaterial() { return this->frontMat; };
-    const Material& frontMaterial() const { return this->frontMat; };
+    Material& frontMaterial() { return this->_frontMat; };
+    const Material& frontMaterial() const { return this->_frontMat; };
+    Rect2D& frontRect() { return this->_frontRect; };
+    const Rect2D& frontRect() const { return this->_frontRect; };
+
+    inline void drawRect(const Rect2D& rect) {
+      glBegin(GL_QUADS);
+      glTexCoord2i(0,0); glVertex2d(rect.left(), rect.top());
+      glTexCoord2i(0,1); glVertex2d(rect.left(), rect.bottom());
+      glTexCoord2i(1,1); glVertex2d(rect.right(), rect.bottom());
+      glTexCoord2i(1,0); glVertex2d(rect.right(), rect.top());
+      glEnd();
+    }
 
     /** @param the Event to process. @returns true if the Event has been consumed*/
@@ -123,9 +136,9 @@
   private:
     /// LOOKS
-    Material                       backMat;
-    Rect2D                         backRect;
+    Material                       _backMat;
+    Rect2D                         _backRect;
 
-    Material                       frontMat;
-    Rect2D                         frontRect;
+    Material                       _frontMat;
+    Rect2D                         _frontRect;
 
 
Index: /branches/gui/src/story_entities/simple_game_menu.cc
===================================================================
--- /branches/gui/src/story_entities/simple_game_menu.cc	(revision 7923)
+++ /branches/gui/src/story_entities/simple_game_menu.cc	(revision 7924)
@@ -66,4 +66,5 @@
   /// GUI
   ///(this is as modular as it is possible).
+  /*
   OrxGui::GLGuiPushButton* pb = new OrxGui::GLGuiPushButton("PUSH ME");
   pb->connectSignal(OrxGui::Signal_release, this, createExecutor<SimpleGameMenu>(&SimpleGameMenu::enterGui));
@@ -73,4 +74,5 @@
   OrxGui::GLGuiHandler::getInstance()->activateCursor();
   OrxGui::GLGuiHandler::getInstance()->activate();
+  */
   /////
 
Index: /branches/gui/src/story_entities/simple_game_menu.h
===================================================================
--- /branches/gui/src/story_entities/simple_game_menu.h	(revision 7923)
+++ /branches/gui/src/story_entities/simple_game_menu.h	(revision 7924)
@@ -31,5 +31,5 @@
 
   public:
-    std::vector<TextElement*>          menuList;                        //!< the list of the menu items
+    std::vector<TextElement*>         menuList;                        //!< the list of the menu items
     std::vector<StoryEntity*>         storyList;                       //!< the list of the StoryEntities for the menu
     std::vector<ImageEntity*>         screenshootList;                 //!< list of the screen shoots FIXME: make a better structure for this stuff
