Index: /branches/mountain_lake/src/lib/gui/gl/glgui_handler.cc
===================================================================
--- /branches/mountain_lake/src/lib/gui/gl/glgui_handler.cc	(revision 8905)
+++ /branches/mountain_lake/src/lib/gui/gl/glgui_handler.cc	(revision 8906)
@@ -88,5 +88,5 @@
   void GLGuiHandler::activate()
   {
-    EventHandler::getInstance()->pushState(ES_MENU);
+    //EventHandler::getInstance()->pushState(ES_MENU);
 
 
@@ -96,5 +96,5 @@
   void GLGuiHandler::deactivate()
   {
-    EventHandler::getInstance()->popState();
+    //EventHandler::getInstance()->popState();
 
 
Index: /branches/mountain_lake/src/world_entities/environments/mapped_water.cc
===================================================================
--- /branches/mountain_lake/src/world_entities/environments/mapped_water.cc	(revision 8905)
+++ /branches/mountain_lake/src/world_entities/environments/mapped_water.cc	(revision 8906)
@@ -22,6 +22,12 @@
 #include "math.h"
 
+#include "glgui.h"
+
+
+#include "shell_command.h"
 
 CREATE_FACTORY(MappedWater, CL_MAPPED_WATER);
+
+SHELL_COMMAND(gui, MappedWater, openGui);
 
 /**
@@ -51,4 +57,5 @@
 
   tempcounter = 0;
+  this->box = NULL;
 }
 
@@ -205,4 +212,23 @@
 }
 
+void MappedWater::resetWaterColorR(float r)
+{
+  this->resetWaterColor(r, this->waterColor.y, this->waterColor.z);
+}
+
+
+void MappedWater::resetWaterColorG(float g)
+{
+  this->resetWaterColor(this->waterColor.x, g, this->waterColor.z);
+}
+
+
+void MappedWater::resetWaterColorB(float b)
+{
+  this->resetWaterColor(this->waterColor.x, this->waterColor.y, b);
+}
+
+
+
 /**
  * @brief resets the shininess in the Shader
@@ -304,4 +330,57 @@
 }
 
+
+void MappedWater::openGui()
+{
+  if (this->box == NULL)
+  {
+    this->box = new OrxGui::GLGuiBox(OrxGui::Vertical);
+    {
+      OrxGui::GLGuiBox* colorBox = new OrxGui::GLGuiBox(OrxGui::Horizontal);
+      {
+        OrxGui::GLGuiInputLine* ColorText = new OrxGui::GLGuiInputLine();
+        ColorText->setText("Color");
+        colorBox->pack(ColorText);
+
+        OrxGui::GLGuiSlider* waterColorR = new OrxGui::GLGuiSlider();
+        waterColorR->setRange(0, 1.0);
+        waterColorR->setValue(this->waterColor.x);
+        waterColorR->connect(SIGNAL(waterColorR, valueChanged), this, SLOT(MappedWater, resetWaterColorR));
+        colorBox->pack(waterColorR);
+
+        OrxGui::GLGuiSlider* waterColorG = new OrxGui::GLGuiSlider();
+        waterColorG->setRange(0, 1.0);
+        waterColorG->setValue(this->waterColor.y);
+        waterColorG->connect(SIGNAL(waterColorG, valueChanged), this, SLOT(MappedWater, resetWaterColorG));
+        colorBox->pack(waterColorG);
+
+        OrxGui::GLGuiSlider* waterColorB = new OrxGui::GLGuiSlider();
+        waterColorB->setRange(0, 1.0);
+        waterColorB->setValue(this->waterColor.z);
+        waterColorB->connect(SIGNAL(waterColorB, valueChanged), this, SLOT(MappedWater, resetWaterColorB));
+        colorBox->pack(waterColorB);
+
+      }
+      this->box->pack(colorBox);
+
+    }
+    this->box->showAll();
+    this->box->setAbsCoor2D(300, 40);
+    OrxGui::GLGuiHandler::getInstance()->activate();
+    OrxGui::GLGuiHandler::getInstance()->activateCursor();
+  }
+
+
+}
+
+
+void MappedWater::closeGui()
+{
+  delete this->box;
+  this->box = NULL;
+
+}
+
+
 /**
  * @brief activates the water shader and draws a quad with four textures on it
Index: /branches/mountain_lake/src/world_entities/environments/mapped_water.h
===================================================================
--- /branches/mountain_lake/src/world_entities/environments/mapped_water.h	(revision 8905)
+++ /branches/mountain_lake/src/world_entities/environments/mapped_water.h	(revision 8906)
@@ -28,4 +28,6 @@
 #include "shader.h"
 
+namespace OrxGui { class GLGuiBox; };
+
 // forward declaration
 template <class T> class tAnimation;
@@ -47,4 +49,10 @@
   void activateRefraction();
   void deactivateRefraction();
+
+
+  void openGui();
+  void closeGui();
+
+
 
   // functions to set parameters for the water, usually they're called through loadparam
@@ -70,4 +78,7 @@
   void resetWaterAngle(float angle) { this->setWaterAngle(angle); this->calcVerts(); }
   void resetWaterColor(float r, float g, float b);
+  void resetWaterColorR(float r);
+  void resetWaterColorG(float g);
+  void resetWaterColorB(float b);
   void resetShineSize(float shine);
   void resetShineStrength(float strength);
@@ -128,4 +139,6 @@
   bool                          bFadeShineSize;
 
+  OrxGui::GLGuiBox*             box;
+
   int tempcounter;
 };
