Index: /orxonox/trunk/gui/orxonox_gui.cc
===================================================================
--- /orxonox/trunk/gui/orxonox_gui.cc	(revision 2613)
+++ /orxonox/trunk/gui/orxonox_gui.cc	(revision 2614)
@@ -236,4 +236,22 @@
 }
 
+/**
+   \brief Sets the group name under which all the lower widgets of this will be saved.
+   \param name The name of the group.
+*/
+void Packer::setGroupName (char* name)
+{
+  groupName = name;
+}
+
+/**
+   \brief Retrieves the group name under which all the lower widgets of this will be saved.
+   \returns name The name of the group.
+*/
+char* Packer::getGroupName (void)
+{
+  return groupName;
+}
+
 /* CONTAINERS */
 
@@ -293,4 +311,5 @@
   is_option = -1;
   label = "";
+  this->setGroupName ("");
   next = NULL;
   down = NULL;
@@ -365,4 +384,5 @@
   is_option = -1;
   label = "";
+  this->setGroupName("");
   next = NULL;
   down = NULL;
@@ -408,4 +428,5 @@
   is_option = -1;
   label = "eventBox";
+  this->setGroupName("");
   next = NULL;
   down = NULL;
@@ -451,4 +472,5 @@
   is_option = -2;
   label = "box";
+  this->setGroupName("");
   next = NULL;
   down = NULL;
Index: /orxonox/trunk/gui/orxonox_gui.h
===================================================================
--- /orxonox/trunk/gui/orxonox_gui.h	(revision 2613)
+++ /orxonox/trunk/gui/orxonox_gui.h	(revision 2614)
@@ -68,6 +68,9 @@
  public:
   Widget* down; //!< this points to the Widget below this.
-
-  void init(void);
+  char* groupName; //!< For each Packer you can specify a Groupname under which the lowerWidgets will be saved.
+
+  void init(void);
+  void setGroupName (char* name);
+  char* getGroupName (void);
 };
 
Index: /orxonox/trunk/gui/orxonox_gui_audio.cc
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_audio.cc	(revision 2613)
+++ /orxonox/trunk/gui/orxonox_gui_audio.cc	(revision 2614)
@@ -33,4 +33,5 @@
   audioFrame = new Frame ("Audio-Options:");
   audioBox = new Box ('v');
+  audioFrame->setGroupName ("audio");
   
   enableSound = new CheckButton ("Disable Sound");
Index: /orxonox/trunk/gui/orxonox_gui_exec.cc
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_exec.cc	(revision 2613)
+++ /orxonox/trunk/gui/orxonox_gui_exec.cc	(revision 2614)
@@ -38,4 +38,5 @@
   execFrame = new Frame ("Execute-Tags:");
   execBox = new Box ('v');
+  execFrame->setGroupName ("misc");
   
   start = new Button ("Start");
@@ -119,4 +120,8 @@
 void OrxonoxGuiExec::writeFileText (Widget* widget)
 {
+  if (widget->is_option <0)
+    if (strcmp (static_cast<Packer*>(widget)->getGroupName(), ""))
+      fprintf (CONFIG_FILE, "[%s]\n", static_cast<Packer*>(widget)->getGroupName());
+
   if (widget->is_option >= 1)
     if  (strcmp (static_cast<Option*>(widget)->flag_name, "") || strcmp (static_cast<Option*>(widget)->flag_name_short, ""))
@@ -126,5 +131,5 @@
 	sprintf (Buffer, "%s", static_cast<Option*>(widget)->label);
 	if (strchr (Buffer, '_'))
-	  cout << "Warning Optionname" << Buffer << " is not Valid for Saving, because it includes an underscore" << endl; 
+	  cout << "Warning Optionname" << Buffer << " is not Valid for Saving, because it includes an underscore" << endl;
 	while (space2under = strchr(Buffer, ' '))
 	  {
@@ -133,12 +138,7 @@
 	fprintf (CONFIG_FILE, "%s = %i\n", Buffer, static_cast<Option*>(widget)->value);
       }
-  switch (widget->is_option)
+  if (widget->is_option<0)
     {
-    case -1:
-      writeFileText (static_cast<Container*>(widget)->down);
-      break;
-    case -2:
-      writeFileText (static_cast<Box*>(widget)->down);
-      break;
+      writeFileText (static_cast<Packer*>(widget)->down);
     } 
   
Index: /orxonox/trunk/gui/orxonox_gui_video.cc
===================================================================
--- /orxonox/trunk/gui/orxonox_gui_video.cc	(revision 2613)
+++ /orxonox/trunk/gui/orxonox_gui_video.cc	(revision 2614)
@@ -32,4 +32,5 @@
   videoFrame = new Frame ("Video-Options:");
   videoBox = new Box ('v');
+  videoFrame->setGroupName("video");
   
   fullscreen = new CheckButton ("Fullscreen-mode");
