Index: src/documentation/userinterfaces/commandline.dox
===================================================================
--- src/documentation/userinterfaces/commandline.dox	(revision 750cff3758142eb977ca963eb8ede4200620a15e)
+++ src/documentation/userinterfaces/commandline.dox	(revision 750cff3758142eb977ca963eb8ede4200620a15e)
@@ -0,0 +1,38 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/**
+ * \file commandline.dox
+ *
+ * Created on: Oct 31, 2011
+ *    Author: heber
+ */
+
+/**
+ * \page commandline Command Line Interface
+ *
+ * The command line interface allows for using MoleCuilder within scripts such
+ * system with only slightly varying parameters can be built in a straight-
+ * forward way.
+ *
+ * Commands are parsed via the CommandLineParser with uses boost::program_options
+ * to recognize the given options. ActionRegistry and OptionRegistry are used
+ * to distinguish Option's from Action's. A specific type per option is expected
+ * and the ValueStorage assures that only the correct type is parsed.
+ *
+ * So far the sequence of the Option's is not really important but for the
+ * Action's the ordering counts: first come, first serve.
+ *
+ * Undoing is possible as well. But is so far only used in the regression test
+ * to test its functionality. This will become more usefull when the
+ * ActionHistory is stored to file and past session can be re-enacted by loading
+ * simply it. Their undo would allow for traversing back in this history.
+ *
+ *
+ * \date 2011-10-31
+ *
+ */
Index: src/documentation/userinterfaces/graphical.dox
===================================================================
--- src/documentation/userinterfaces/graphical.dox	(revision 750cff3758142eb977ca963eb8ede4200620a15e)
+++ src/documentation/userinterfaces/graphical.dox	(revision 750cff3758142eb977ca963eb8ede4200620a15e)
@@ -0,0 +1,55 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/**
+ * \file graphical.dox
+ *
+ * Created on: Oct 31, 2011
+ *    Author: heber
+ */
+
+/**
+ * \page graphical Graphical User Interface
+ *
+ * The GUI is based on Qt4. It used Qt3D for displaying the GlWorldView and
+ * allowing for easy selecting of atoms and molecules.
+ *
+ * The GUI consists of the following parts:
+ * - a menu created in a likewise as the one for the \ref textmenu.
+ * - a world view, implemented in GLWorldView, displaying atoms and bonds
+ *   and allowing for selecting them.
+ * - A list of all currently selected molecules.
+ * - A list of all currently present molecules.
+ *
+ * \section graphical-query Queries in the graphical interface.
+ *
+ * As all Action always instantiate a Dialog which behaves differently for
+ * each of the three user interface, we give a brief description of what it
+ * does here.
+ *
+ * Each of the query implementations receives a reference to a QLayout where
+ * it just adds its own query, e.g. for a double or a list of strings.
+ * Eventually, this concatenated dialog is presented to the user -- it might
+ * be empty though as well -- he enters all values and clicks accept (even
+ * in case of an empty dialog). These values are passed via a Pipe mechanism
+ * (this is a workaround as Qt's moc does not liked nested classes) to the
+ * ValueStorage.
+ *
+ * \section graphical-world_view How the World view works ...
+ *
+ * GLWorldView handles the Observer translation to Qt's own mechanism. Also, it
+ * contains an instance of the GLWorldScene. This instance knows about all
+ * atoms and bonds present in this scene, i.e. it has lists on them and handles
+ * adding and removing. Objects in this scene are GLMoleculeObject's which
+ * are either .._atom (clickable) or .._bond (non-clickable). Also,
+ * GLMoleculeObject implements all transformation routines because atom and
+ * bond just differ in being a sphere or a cylinder.
+ *
+ *
+ * \date 2011-10-31
+ *
+ */
Index: src/documentation/userinterfaces/textmenu.dox
===================================================================
--- src/documentation/userinterfaces/textmenu.dox	(revision 750cff3758142eb977ca963eb8ede4200620a15e)
+++ src/documentation/userinterfaces/textmenu.dox	(revision 750cff3758142eb977ca963eb8ede4200620a15e)
@@ -0,0 +1,32 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/**
+ * \file textmenu.dox
+ *
+ * Created on: Oct 31, 2011
+ *    Author: heber
+ */
+
+/**
+ * \page textmenu Text Menu Interface
+ *
+ *  The textmenu mimicks the graphical interface in having the very same menu
+ *  with actions at the same positions. Only visual output can only be obtained
+ *  by saving the world at intervals and inspecting the outcome. This is a sort
+ *  of lowman's way to a graphical interface but can be done via a remote
+ *  machine if its filesystem is mountable.
+ *
+ *  \note The textmenu interface is the least maintained part of the user
+ *  interfaces, so be cautious in using it. However, it also has the smallest
+ *  impact in terms of code lines. In effect it may work just as well as the
+ *  others.
+ *
+ *
+ *  \date 2011-10-31
+ *
+ */
Index: src/documentation/userinterfaces/userinterfaces.dox
===================================================================
--- src/documentation/userinterfaces/userinterfaces.dox	(revision 750cff3758142eb977ca963eb8ede4200620a15e)
+++ src/documentation/userinterfaces/userinterfaces.dox	(revision 750cff3758142eb977ca963eb8ede4200620a15e)
@@ -0,0 +1,43 @@
+/*
+ * Project: MoleCuilder
+ * Description: creates and alters molecular systems
+ * Copyright (C)  2010 University of Bonn. All rights reserved.
+ * Please see the LICENSE file or "Copyright notice" in builder.cpp for details.
+ */
+
+/**
+ * \file userinterfaces.dox
+ *
+ * Created on: Oct 31, 2011
+ *    Author: heber
+ */
+
+/**
+ * \page userinterfaces User Interfaces
+ *
+ *  MoleCuilder has three interfaces at your disposal:
+ *  -# \ref textmenu  A simple interactive console-based menu, where awaits your choices and inputs in order to set atoms
+ *               as you like
+ *  -# \ref commandline Every command can also be chained up as a sequence of actions on the command line to be executed
+ *               with any user interaction.
+ *  -# \ref graphical A graphical user interface that also display the molecular structure being built and lots of other
+ *               informations to ease the construction of bigger geometries.
+ *
+ *  Note that all user interfaces are created via a common way that is
+ *  controlled via the Action's \b .def files. Therein menu position, name
+ *  and so forth are given. Hence, the same menus are created for both the
+ *  text and the graphical user interface.
+ *
+ *  \section userinterfaces-query Making queries to the user
+ *
+ *  The passing of values from the user to the code is done via a Query class
+ *  which each of the interfaces implements for each of the required types.
+ *
+ *  \section userinterfaces-menu Menu structure
+ *
+ *  \sa Menu for information on how the menu structure is done.
+ *
+ *
+ * \date 2011-10-31
+ *
+ */
