Index: /branches/gui/src/lib/gui/gl/glgui_style.cc
===================================================================
--- /branches/gui/src/lib/gui/gl/glgui_style.cc	(revision 8553)
+++ /branches/gui/src/lib/gui/gl/glgui_style.cc	(revision 8554)
@@ -68,4 +68,5 @@
   {}
 
+
   void GLGuiStyle::setBorderLeft(float value)
   {
@@ -79,6 +80,11 @@
   }
 
-  void GLGuiStyle::setBorderLeftS(float value, const std::string& state)
-  {
+  void GLGuiStyle::setBorderLeftS(float value, const std::string& stateName)
+  {
+    OrxGui::State state;
+    if (getState(stateName, &state))
+      this->setBorderLeft(value, state);
+    else
+      this->setBorderLeft(value);
   }
 
@@ -95,6 +101,12 @@
   }
 
-  void GLGuiStyle::setBorderRightS(float value, const std::string& state)
-  {}
+  void GLGuiStyle::setBorderRightS(float value, const std::string& stateName)
+  {
+    OrxGui::State state;
+    if (getState(stateName, &state))
+      this->setBorderRight(value, state);
+    else
+      this->setBorderRight(value);
+  }
 
 
@@ -110,6 +122,12 @@
   }
 
-  void GLGuiStyle::setBorderTopS(float value, const std::string& state)
-  {}
+  void GLGuiStyle::setBorderTopS(float value, const std::string& stateName)
+  {
+    OrxGui::State state;
+    if (getState(stateName, &state))
+      this->setBorderTop(value, state);
+    else
+      this->setBorderTop(value);
+  }
 
 
@@ -125,6 +143,12 @@
   }
 
-  void GLGuiStyle::setBorderBottomS(float value, const std::string& state)
-  {}
+  void GLGuiStyle::setBorderBottomS(float value, const std::string& stateName)
+  {
+        OrxGui::State state;
+  if (getState(stateName, &state))
+    this->setBorderBottom(value, state);
+  else
+    this->setBorderBottom(value);
+  }
 
 
@@ -140,6 +164,12 @@
   }
 
-  void GLGuiStyle::setTextSizeS(float value, const std::string& state)
-  {}
+  void GLGuiStyle::setTextSizeS(float value, const std::string& stateName)
+  {
+    OrxGui::State state;
+    if (getState(stateName, &state))
+      this->setTextSize(value, state);
+    else
+      this->setTextSize(value);
+  }
 
 
@@ -155,6 +185,12 @@
   }
 
-  void GLGuiStyle::setBackgroundColorS(float r, float g, float b, float a, const std::string& state)
-  {}
+  void GLGuiStyle::setBackgroundColorS(float r, float g, float b, float a, const std::string& stateName)
+  {
+    OrxGui::State state;
+    if (getState(stateName, &state))
+      this->setBackgroundColor(Color(r,g,b,a), state);
+    else
+      this->setBackgroundColor(Color(r,g,b,a));
+  }
 
 
@@ -170,6 +206,12 @@
   }
 
-  void GLGuiStyle::setBackgroundTexture(const std::string& textureName, const std::string& state)
-  {}
+  void GLGuiStyle::setBackgroundTexture(const std::string& textureName, const std::string& stateName)
+  {
+        OrxGui::State state;
+  if (getState(stateName, &state))
+    ; /// FIXME this->setBackgroundTexture(textureName, state);
+  else
+      ; ///    this->setBackgroundTexture(textureName);
+  }
 
 
@@ -185,6 +227,12 @@
   }
 
-  void GLGuiStyle::setForegroundColorS(float r, float g, float b, float a, const std::string& state)
-  {}
+  void GLGuiStyle::setForegroundColorS(float r, float g, float b, float a, const std::string& stateName)
+  {
+    OrxGui::State state;
+    if (getState(stateName, &state))
+      this->setForegroundColor(Color(r,g,b,a), state);
+    else
+      this->setForegroundColor(Color(r,g,b,a));
+  }
 
 
@@ -196,6 +244,13 @@
 
   void GLGuiStyle::setFeaturePosition(const std::string& featurePosition)
-  {}
-
+  {
+    for (unsigned int i = 0; i < 4; ++i)
+    {
+      if (featurePosition == FeaturePositionString[i])
+      {
+        this->setFeaturePosition((FeaturePosition)i);
+      }
+    }
+  }
 
   void GLGuiStyle::setFont(Font* font)
@@ -220,3 +275,16 @@
   }
 
+
+
+  bool GLGuiStyle::getState(const std::string& stateName, OrxGui::State* state)
+  {
+    for (unsigned int i = 0; i < GLGUI_STATE_COUNT; ++i)
+      if (stateName == OrxGui::StateString[i])
+    {
+      *state = (OrxGui::State)i;
+        return true;
+    }
+    return false;
+  }
+
 }
Index: /branches/gui/src/lib/gui/gl/glgui_style.h
===================================================================
--- /branches/gui/src/lib/gui/gl/glgui_style.h	(revision 8553)
+++ /branches/gui/src/lib/gui/gl/glgui_style.h	(revision 8554)
@@ -48,33 +48,33 @@
     void setBorderLeft(float value);
     void setBorderLeft(float value, OrxGui::State state);
-    void setBorderLeftS(float value, const std::string& state);
+    void setBorderLeftS(float value, const std::string& stateName);
 
     void setBorderRight(float value);
     void setBorderRight(float value, OrxGui::State state);
-    void setBorderRightS(float value, const std::string& state);
+    void setBorderRightS(float value, const std::string& stateName);
 
     void setBorderTop(float value);
     void setBorderTop(float value, OrxGui::State state);
-    void setBorderTopS(float value, const std::string& state);
+    void setBorderTopS(float value, const std::string& stateName);
 
     void setBorderBottom(float value);
     void setBorderBottom(float value, OrxGui::State state);
-    void setBorderBottomS(float value, const std::string& state);
+    void setBorderBottomS(float value, const std::string& stateName);
 
     void setTextSize(float value);
     void setTextSize(float value, OrxGui::State state);
-    void setTextSizeS(float value, const std::string& state);
+    void setTextSizeS(float value, const std::string& stateName);
 
     void setBackgroundColor(const Color& color);
     void setBackgroundColor(const Color& color, OrxGui::State state);
-    void setBackgroundColorS(float r, float g, float b, float a, const std::string& state);
+    void setBackgroundColorS(float r, float g, float b, float a, const std::string& stateName);
 
     void setBackgroundTexture(const Texture& texture);
     void setBackgroundTexture(const Texture& texture, OrxGui::State state);
-    void setBackgroundTexture(const std::string& textureName, const std::string& state);
+    void setBackgroundTexture(const std::string& textureName, const std::string& stateName);
 
     void setForegroundColor(const Color& color);
     void setForegroundColor(const Color& color, OrxGui::State state);
-    void setForegroundColorS(float r, float g, float b, float a, const std::string& state);
+    void setForegroundColorS(float r, float g, float b, float a, const std::string& stateName);
 
 
@@ -87,4 +87,7 @@
     void setAnimated(bool animated);
     void setAnimatedStateChanges(bool animated);
+
+    private:
+      bool getState(const std::string& stateName, OrxGui::State* state);
 
   private:
