Index: orxonox/trunk/gui/orxonox_gui.h
===================================================================
--- orxonox/trunk/gui/orxonox_gui.h	(revision 2587)
+++ orxonox/trunk/gui/orxonox_gui.h	(revision 2588)
@@ -1,2 +1,7 @@
+/*!
+ \file orxonox_gui.h
+ \brief Contains all Widgets and the Creation of the Gui
+*/
+
 #ifndef _ORXONOX_GUI_H
 #define _ORXONOX_GUI_H
@@ -19,4 +24,5 @@
 #include <gtk/gtkeventbox.h>
 
+//! Class that creates the OrxonoxGui
 class OrxonoxGui
 {
@@ -27,12 +33,14 @@
 };
 
+//! This is the topmost object that can be displayed all others are derived from it.
+
 class Widget
 {
  private:
  public:
-  Widget* next;
-  GtkWidget* widget;
+  Widget* next; //!< next always points to the next Widget in the list. Every Widget has a next one, or has NULL as next
+  GtkWidget* widget; //!< widget is the gtk_widget that the specific Object Contains.
   virtual void init(void);
-  int is_option;
+  int is_option; //!< with this Paramenter one can set the IsOption type: -2:Container, -1: Box, 0: not an Option, 1: Bool-option, 2: int-option
 
   void connectSignal (char* event, gint (*signal)(GtkWidget*, GdkEvent*, void *));
@@ -48,5 +56,10 @@
 
 
-
+//! This is a Container Class, it can contain one sub-Widget: down.
+/**
+ * A Container is a Widget that can hold a subWidget in addition to a next-Widget.
+ * The Container can by itself not be displayed created or used.
+ * The derived classes of Container can be displayed
+*/
 class Container : public Widget
 {
@@ -58,10 +71,15 @@
  public:
   void init(void);
-  Widget* down;
-  void setBorderWidth (int borderwidth);
-  virtual void setTitle (char* title) = 0;
+  Widget* down; //!< this points to the Widget below this.
+  //  void setBorderWidth (int borderwidth);
+  //  virtual void setTitle (char* title) = 0;
   void fill (Widget *lowerWidget);
 };
 
+//! Window is the class that creates new Windows, and handels them
+/**
+ * A Window is a class derived from Container that contains a window-widget.
+ * It has the ability to hold one sub-object
+ */
 class Window : public Container
 {
@@ -73,8 +91,13 @@
   
   void setTitle (char* title);
-  void showall ();
+  void showall (); 
   static gint orxonox_gui_quit (GtkWidget *widget, GdkEvent *event, gpointer data);
 };
 
+//! Frame is the class that handles frames
+/**
+ * A Frame is an object, that has a border and if you like a name on it.
+ * It can contain a Widget, which means that you can insert anything you like inside of a frame
+ */
 class Frame :public Container
 {
@@ -88,4 +111,8 @@
 };
 
+//! EventBox is a Container that can Handle all Events happening inside of it.
+/**
+ * Example: if you have a picture, and you want it to catch mouse-clicks, you have to pack it inside a EventBox
+ */
 class EventBox : public Container
 {
@@ -99,4 +126,10 @@
 };
 
+//! A Box can contain multiple Widgets
+/**
+ * A Box can Contain multiple Widgets, that are ordered either horizontally or vertically
+ * I defined the standartbox to be horizontally.
+ * A Box is always filled left->right (horizontally) or up->down (vertically)
+ */
 class Box : public Widget
 {
@@ -107,9 +140,14 @@
   void init(char boxtype);
 
-  Widget* down;
+  Widget* down; //!< the Lower Widget of a Box.
   void fill (Widget* lowerWidget);
 
 };
 
+//! Image is the keeper of one Image 
+/** 
+ * Images are mighty cool.
+ * Images can help you lighten up the Programming process, and will give everyone a better impression of the Software.
+ */
 class Image : public Widget
 {
@@ -120,4 +158,8 @@
 };
 
+//! An Option is a Widget that contains something that may change its state.
+/**
+ * Options are the essence of a GUI, they: Configure, Start, Quit, Execute, and make it worth something
+ */
 class Option : public Widget
 {
@@ -126,15 +168,19 @@
   void init(void);
 
-  int value;
-  char* option_name;
-  char* flag_name;
-  char* flag_name_short;
-  int default_value;
+  int value; //!< every option has a value either true or false (0,1) or something else like 25 for 25% of the volume
+  char* option_name; //!< options have a name, that can be displayed around them
+  char* flag_name; //!< options have a flag name that will be appendet if you start the Program from the GUI.
+  char* flag_name_short; //!< like flag_name but shorter
+  int default_value; //!< A default value is good, for hiding a option if it is not needed. (hidden if value == default_value)
 
   void setFlagName (char* flagname, int defaultvalue);
   void setFlagName (char* flagname, char* flagnameshort, int defaultvalue);
-  virtual void redraw () = 0;
-};
-
+  virtual void redraw () = 0; //!< A Option must be able to redraw itself.
+};
+
+//! Buttons can be pressed, and released.
+/**
+ * Buttons are mainly there for executing some action like Starting the Programm, or Quiting it.
+ */
 class Button : public Option 
 {
@@ -149,4 +195,7 @@
 };
 
+//! CheckButtons are a key in configuring bool Variables
+/** CheckButtons can configure bool Variables like wireframe on/off, enable_sound etc.
+ */
 class CheckButton : public Option
 {
@@ -162,4 +211,8 @@
 };
 
+//! Sliders are Options that can be modified in their value
+/**
+ * good for volume, brightness, etc.
+ */
 class Slider : public Option
 {
@@ -176,4 +229,5 @@
 };
 
+//! A Menu is an Option that has a dropdown menu, where you can chose between different Items
 class Menu : public Option
 {
@@ -195,4 +249,5 @@
 };
 
+//! A label is a Widget, that displays a text
 class Label : public Widget
 {
