Index: branches/gui/src/lib/gui/gl_gui/glgui_slider.cc
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_slider.cc	(revision 7971)
+++ branches/gui/src/lib/gui/gl_gui/glgui_slider.cc	(revision 7972)
@@ -74,5 +74,5 @@
     else
       this->_value = value;
-    printf("VALUE %f\n", _value);
+    emit(valueChanged(this->_value));
   }
 
Index: branches/gui/src/lib/gui/gl_gui/glgui_slider.h
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_slider.h	(revision 7971)
+++ branches/gui/src/lib/gui/gl_gui/glgui_slider.h	(revision 7972)
@@ -46,7 +46,10 @@
     void stepMinus();
 
+
     virtual void tick(float dt);
     virtual bool processEvent(const Event& event);
     virtual void draw() const;
+
+    DeclareSignal(valueChanged, (float));
 
   protected:
Index: branches/gui/src/lib/gui/gl_gui/glgui_widget.cc
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_widget.cc	(revision 7971)
+++ branches/gui/src/lib/gui/gl_gui/glgui_widget.cc	(revision 7972)
@@ -171,4 +171,15 @@
 
 
+  void GLGuiWidget::connect(GLGuiWidget* sender, Signal& signal, BaseObject* receiver, Slot executor)
+  {
+    sender->connect(signal, receiver, executor);
+  }
+
+  void GLGuiWidget::connect(Signal& signal, BaseObject* receiver, Slot executor)
+  {
+    signal.push_back(SignalConnector(receiver, executor));
+  }
+
+
   /**
    * @brief connects a Signal to the Gui-Elements' Event.
Index: branches/gui/src/lib/gui/gl_gui/glgui_widget.h
===================================================================
--- branches/gui/src/lib/gui/gl_gui/glgui_widget.h	(revision 7971)
+++ branches/gui/src/lib/gui/gl_gui/glgui_widget.h	(revision 7972)
@@ -49,7 +49,4 @@
   class GLGuiWidget : public Element2D
   {
-
-  private:
-
   public:
     GLGuiWidget(GLGuiWidget* parent = NULL);
@@ -88,4 +85,9 @@
     void setClickable(bool clickable = true) { this->_clickable = clickable; };
 
+    static void connect(GLGuiWidget* sender, Signal& signal, BaseObject* receiver, Slot executor);
+    void connect(Signal& signal, BaseObject* receiver, Slot executor);
+
+    void disconnect(GLGuiWidget* sender, Signal& signal, BaseObject* receiver);
+
 
     /// MATERIAL (looks)
@@ -118,12 +120,4 @@
     /** @param the Event to process. @returns true if the Event has been consumed*/
     virtual bool processEvent(const Event& event) { };
-
-
-    DeclareSignal(testSignal, ());
-
-    static void connect(GLGuiWidget* sender, Signal& signal, BaseObject* receiver, Slot executor);
-    void connect(Signal& signal, BaseObject* receiver, Slot executor);
-
-    void disconnect(GLGuiWidget* sender, Signal& signal, BaseObject* receiver);
 
   protected:
Index: branches/gui/src/lib/gui/gl_gui/signal_connector.h
===================================================================
--- branches/gui/src/lib/gui/gl_gui/signal_connector.h	(revision 7971)
+++ branches/gui/src/lib/gui/gl_gui/signal_connector.h	(revision 7972)
@@ -36,6 +36,16 @@
     getSignalVector_##SignalName()
 
+/**
+ * @brief defines a Slot, the sink of a Signal.
+ * @param Class the Class the Slot belongs to.
+ * @param function the Function to Connect to.
+ */
 #define SLOT(Class, function) \
     createExecutor<Class>(&Class::function)
+
+/**
+ * @brief emits function
+ */
+#define emit(function) function
 
   //! A class for Conncting Signals to Objects, inside of the GUI
Index: branches/gui/src/story_entities/simple_game_menu.cc
===================================================================
--- branches/gui/src/story_entities/simple_game_menu.cc	(revision 7971)
+++ branches/gui/src/story_entities/simple_game_menu.cc	(revision 7972)
@@ -101,4 +101,5 @@
 
   OrxGui::GLGuiSlider* slider = new OrxGui::GLGuiSlider();
+  slider->connect(slider->SIGNAL(valueChanged), this, SLOT(SimpleGameMenu, TEST));
   slider->setRange(-1, 10);
   slider->setValue(slider->min());
Index: branches/gui/src/story_entities/simple_game_menu.h
===================================================================
--- branches/gui/src/story_entities/simple_game_menu.h	(revision 7971)
+++ branches/gui/src/story_entities/simple_game_menu.h	(revision 7972)
@@ -69,5 +69,5 @@
     void quitMenu();
 
-    void TEST() { printf("TEST\n"); }
+    void TEST(float val) { printf("TEST %f\n", val); }
 
   protected:
