Index: /branches/qt_gui/src/lib/gui/gui_element.cc
===================================================================
--- /branches/qt_gui/src/lib/gui/gui_element.cc	(revision 7538)
+++ /branches/qt_gui/src/lib/gui/gui_element.cc	(revision 7539)
@@ -42,11 +42,3 @@
     // delete what has to be deleted here
   }
-
-  /**
-   *  Every GuiElement should set this, or it could result in a SegFault.
-  */
-  void Element::setMainWidget(Widget* widget)
-  {
-    this->mainWidget = widget;
-  }
 }
Index: /branches/qt_gui/src/lib/gui/gui_element.h
===================================================================
--- /branches/qt_gui/src/lib/gui/gui_element.h	(revision 7538)
+++ /branches/qt_gui/src/lib/gui/gui_element.h	(revision 7539)
@@ -21,12 +21,4 @@
     Element(const std::string& name);
     virtual ~Element();
-
-    /** @returns the main Widget of this GuiElement. */
-    Widget* getWidget() const { return this->mainWidget; }
-  protected:
-    void setMainWidget(Widget* widget);
-
-  private:
-    Widget* mainWidget;
   };
 }
Index: /branches/qt_gui/src/lib/gui/gui_saveable.h
===================================================================
--- /branches/qt_gui/src/lib/gui/gui_saveable.h	(revision 7538)
+++ /branches/qt_gui/src/lib/gui/gui_saveable.h	(revision 7539)
@@ -22,9 +22,9 @@
     void makeSaveable();
 
-    virtual void load(const MultiType& value) = 0;
-    virtual const MultiType& save() = 0;
+    virtual void load(const MultiType& value) {};
+    virtual const MultiType& save() {};
 
-    MultiType&       getValue() { return this->value; };
-    const MultiType& getValue() const { return this->value; };
+    MultiType&       value() { return this->_value; };
+    const MultiType& value() const { return this->_value; };
     bool             isSaveable() const { return this->bSaveable; };
 
@@ -34,5 +34,5 @@
 
   private:
-    MultiType       value;
+    MultiType       _value;
     bool            bSaveable;
   };
Index: /branches/qt_gui/src/lib/gui/qt_gui/Makefile.am
===================================================================
--- /branches/qt_gui/src/lib/gui/qt_gui/Makefile.am	(revision 7538)
+++ /branches/qt_gui/src/lib/gui/qt_gui/Makefile.am	(revision 7539)
@@ -16,4 +16,5 @@
 libORXqtgui_a_SOURCES = \
 		qt_gui.cc \
+		qt_gui_elements.cc \
 		\
 		gui_video.cc \
@@ -22,4 +23,5 @@
 noinst_HEADERS= \
 		qt_gui.h \
+		qt_gui_elements.h \
 		\
 		gui_video.h \
Index: /branches/qt_gui/src/lib/gui/qt_gui/gui_audio.cc
===================================================================
--- /branches/qt_gui/src/lib/gui/qt_gui/gui_audio.cc	(revision 7538)
+++ /branches/qt_gui/src/lib/gui/qt_gui/gui_audio.cc	(revision 7539)
@@ -28,10 +28,7 @@
 
 #include <QtGui/QLayout>
-#include "sdlincl.h"
 #include "debug.h"
 
-#include <QtGui/QPushButton>
-#include <QtGui/QCheckBox>
-#include <QtGui/QComboBox>
+#include "qt_gui_elements.h"
 
 namespace OrxGui
@@ -46,12 +43,12 @@
 
     {
-      QCheckBox* fullscreen = new QCheckBox(QString("Enabled"));
+      QtGuiCheckBox* fullscreen = new QtGuiCheckBox("Enabled", true);
       //fullscreen->setName();
       layout->addWidget(fullscreen, 0, 0);
 
-      QCheckBox* wireframe = new QCheckBox("Test");
+      QtGuiCheckBox* wireframe = new QtGuiCheckBox("Test");
       layout->addWidget(wireframe, 1, 0);
 
-      QComboBox* resolution = new QComboBox();
+      QtGuiComboBox* resolution = new QtGuiComboBox("SoundCard");
       layout->addWidget(resolution, 2, 0);
 
Index: /branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.cc
===================================================================
--- /branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.cc	(revision 7538)
+++ /branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.cc	(revision 7539)
@@ -16,5 +16,6 @@
 //#define DEBUG_SPECIAL_MODULE DEBUG_MODULE_
 
-#include "qt_gui.h"
+#include "qt_gui_elements.h"
+
 
 namespace OrxGui
@@ -23,8 +24,25 @@
 
 
+  QtGuiCheckBox::QtGuiCheckBox(const std::string& name, bool defaultValue)
+  : QCheckBox(QString().fromStdString(name)), Saveable(name)
+  {
+    //this->load(this->value());
+  }
+
+  void QtGuiCheckBox::load(const MultiType& value)
+  {
+    this->setTristate(value.getBool());
+        this->value() = value;
+  }
 
 
-  QtGuiComboBox::QtGuiComboBox(QWidget* parent, const std::string& name)
-  : QComboBox(parent), Saveable(name)
+
+  const MultiType& QtGuiCheckBox::save()
+  {
+    return this->value();
+  }
+
+  QtGuiComboBox::QtGuiComboBox(const std::string& name)
+  : QComboBox(), Saveable(name)
   {
 
@@ -32,4 +50,14 @@
   }
 
+  void QtGuiComboBox::load(const MultiType& value)
+  {
+    this->value() = value;
+    //TODO
+  }
+
+  const MultiType& QtGuiComboBox::save()
+  {
+    return this->value();
+  }
 
 
Index: /branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.h
===================================================================
--- /branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.h	(revision 7538)
+++ /branches/qt_gui/src/lib/gui/qt_gui/qt_gui_elements.h	(revision 7539)
@@ -7,83 +7,31 @@
 #define __QT_GUI_ELEMENTS_H
 
-#include "base_object.h"
 #include "../gui_saveable.h"
 #include <list>
 
 // grouping
-#include <qgroupbox.h>
-#include <qprogressbar.h>
-#include <qlabel.h>
+#include <QtGui/QGroupBox>
+#include <QtGui/QProgressBar>
+#include <QtGui/QLabel>
 
 // events
-#include <qpushbutton.h>
+#include <QtGui/QPushButton>
 
 // options
-#include <qcheckbox.h>
-#include <qslider.h>
-#include <qlineedit.h>
+#include <QtGui/QCheckBox>
+#include <QtGui/QSlider>
+#include <QtGui/QLineEdit>
+#include <QtGui/QComboBox>
 
 namespace OrxGui
 {
-
-  class QtGuiWidget : virtual public BaseObject
-  {
-  public:
-  };
-
-
-  class QtGuiContainer : public QtGuiWidget
-  {
-  public:
-    virtual bool pack(QtGuiWidget* widget) = 0;
-
-  protected:
-    QtGuiContainer();
-    ~QtGuiContainer();
-
-  private:
-
-  };
-
-
-  typedef enum Orientation
-  {
-    horizontal,
-    vertical
-  };
-
-  class QtGuiBox : public QtGuiContainer, public GuiSaveableGroup
-  {
-
-  public:
-    QtGuiBox(Orientation orientation);
-    ~QtGuiBox();
-
-    virtual bool pack(QtGuiWidget* widget);
-
-  private:
-    std::list<QtGuiWidget*>   children;
-
-  };
-
-  class QtGuiGroupBox : public QtGuiContainer, public GuiSaveableGroup
-  {
-  public:
-    QtGuiGroupBox(const std::string& groupName);
-    ~QtGuiGroupBox();
-
-    virtual bool pack(QtGuiWidget* widget);
-
-  private:
-    QtGuiWidget*              child;
-  };
-
-
-
-  class QtGuiCheckBox : public QCheckBox, public QtGuiWidget, public GuiSaveable
+  class QtGuiCheckBox : public QCheckBox, public Saveable
   {
   public:
     QtGuiCheckBox(const std::string& name, bool defaultValue = false);
-    ~QtGuiCheckBox();
+    virtual ~QtGuiCheckBox() {};
+
+    virtual void load(const MultiType& value);
+    virtual const MultiType& save();
 
   public slots:
@@ -94,17 +42,9 @@
   };
 
-
-  class QtGuiPushButtom : public QPushButton, public QtGuiWidget
-  {
-  public:
-    QtGuiPushButtom();
-    ~QtGuiPushButtom();
-  };
-
-  class QtGuiSlider : public QSlider, public QtGuiWidget, public GuiSaveable
+  class QtGuiSlider : public QSlider, public Saveable
   {
   public:
     QtGuiSlider();
-    ~QtGuiSlider();
+    virtual ~QtGuiSlider() {};
 
   public slots:
@@ -118,27 +58,11 @@
   class QtGuiComboBox : public QComboBox, public OrxGui::Saveable
   {
-    QtGuiComboBox(QWidget* parent, const std::string& name);
-  }
+    public:
+    QtGuiComboBox(const std::string& name);
 
-
-
-  class QtGuiTextLine : public QLineEdit, public QtGuiWidget, public GuiSaveable
-  {
-  public:
-    QtGuiTextLine();
-    ~QtGuiTextLine();
-
-  public slots:
-    void setTextLineValue(const char*);
-  signals:
-    void textLineChanged(const char*);
+    virtual void load(const MultiType& value);
+    virtual const MultiType& save();
   };
 
-
-
-  class QtGuiImage : public QtGuiWidget
-  {
-  }
-  ;
 }
 
