Index: src/Actions/Action.cpp
===================================================================
--- src/Actions/Action.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/Actions/Action.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -127,5 +127,5 @@
 
 Dialog * Action::createDialog(){
-  Dialog *dialog = UIFactory::getInstance().makeDialog();
+  Dialog *dialog = UIFactory::getInstance().makeDialog(Traits.getName());
   return fillDialog(dialog);
 }
Index: src/Actions/unittests/stubs/DummyUI.hpp
===================================================================
--- src/Actions/unittests/stubs/DummyUI.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/Actions/unittests/stubs/DummyUI.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -21,5 +21,7 @@
 {
 public:
-  DummyDialog(){}
+  DummyDialog(const std::string &_title) :
+    Dialog(_title)
+  {}
   virtual ~DummyDialog(){}
 
@@ -53,5 +55,5 @@
   virtual ~DummyUIFactory(){}
 
-  virtual Dialog* makeDialog(){return new DummyDialog;}
+  virtual Dialog* makeDialog(const std::string &_title){return new DummyDialog(_title);}
   virtual MainWindow* makeMainWindow(){return 0;}
 
Index: src/UIElements/CommandLineUI/CommandLineDialog.cpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineDialog.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/CommandLineUI/CommandLineDialog.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -42,5 +42,6 @@
 
 
-CommandLineDialog::CommandLineDialog()
+CommandLineDialog::CommandLineDialog(const std::string &_title) :
+    Dialog(_title)
 {
 }
Index: src/UIElements/CommandLineUI/CommandLineDialog.hpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineDialog.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/CommandLineUI/CommandLineDialog.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -30,5 +30,5 @@
 {
 public:
-  CommandLineDialog();
+  CommandLineDialog(const std::string &_title);
   virtual ~CommandLineDialog();
 
Index: src/UIElements/CommandLineUI/CommandLineUIFactory.cpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineUIFactory.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/CommandLineUI/CommandLineUIFactory.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -52,6 +52,6 @@
 
 
-Dialog* CommandLineUIFactory::makeDialog() {
-  return new CommandLineDialog();
+Dialog* CommandLineUIFactory::makeDialog(const std::string &_title) {
+  return new CommandLineDialog(_title);
 }
 
Index: src/UIElements/CommandLineUI/CommandLineUIFactory.hpp
===================================================================
--- src/UIElements/CommandLineUI/CommandLineUIFactory.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/CommandLineUI/CommandLineUIFactory.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -48,5 +48,5 @@
   virtual ~CommandLineUIFactory();
 
-  virtual Dialog* makeDialog();
+  virtual Dialog* makeDialog(const std::string &_title);
   virtual MainWindow* makeMainWindow();
 
Index: src/UIElements/Dialog.cpp
===================================================================
--- src/UIElements/Dialog.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Dialog.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -50,5 +50,5 @@
 using namespace std;
 
-Dialog::Dialog()
+Dialog::Dialog(const std::string &_title)
 {
 }
Index: src/UIElements/Dialog.hpp
===================================================================
--- src/UIElements/Dialog.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Dialog.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -153,5 +153,5 @@
 {
 public:
-  Dialog();
+  Dialog(const std::string &_title);
   virtual ~Dialog();
 
Index: src/UIElements/Menu/Menu.cpp
===================================================================
--- src/UIElements/Menu/Menu.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Menu/Menu.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -130,13 +130,14 @@
     if (MenuName == name) {
       const std::string &ActionName = *iter;
-      Menu::addAction(ActionName);
+      const std::string &ActionDescription = CurrentTrait.getDescription();
+      Menu::addAction(ActionName, ActionDescription);
     }
   }
 }
 
-void Menu::addAction(const std::string &ActionName)
+void Menu::addAction(const std::string &ActionName, const std::string &ActionDescription)
 {
   LastItem = ActionItem;
-  addActionItem(ActionName, ActionName);
+  addActionItem(ActionName, ActionDescription);
 }
 
Index: src/UIElements/Menu/Menu.hpp
===================================================================
--- src/UIElements/Menu/Menu.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Menu/Menu.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -61,22 +61,53 @@
 
 protected:
-  // Unique name of the menu for identification.
+  //!> Unique name of the menu for identification.
   const std::string name;
 
-  // populater function that adds all menu items
+  /** populater function that adds all menu items.
+   *
+   */
   void populate();
+
+  /** Populater function for all Actions in this menu.
+   *
+   */
   void populateActions();
 
 private:
-  void addAction(const std::string &ActionName);
+  /** Adds an action to this menu.
+   *
+   * @param ActionName name of action
+   * @param ActionDescription of the action (e.g. for tooltips)
+   */
+  void addAction(const std::string &ActionName, const std::string &ActionDescription);
+
+  /** Adds a separator (e.g. horizontal line) to menu.
+   *
+   */
   void addSeparator();
+
+  /** Adds a submenu to this menu.
+   *
+   * @param MenuName name of submenu
+   * @param MenuPosition position in sequence of items of submenu
+   */
   void addSubmenu(const std::string &MenuName, const int MenuPosition);
+
+  /** Checks whether an item named \a token exists in this menu.
+   *
+   * @param token name of action of submenu
+   * @return true - item exists, false - item does not exist in this menu
+   */
   bool isPresent(const std::string &token);
 
+  //!> enumeration of all valid item types
   enum ItemType {ActionItem, MenuItem, SeparatorItem, NoItem};
 
-  int TopPosition;  // current position to add
-  enum ItemType LastItem;  // check whether separator followed separator
-  std::set <std::string> DuplicatesList;  // is used to check for duplicates
+  //!> current position to add
+  int TopPosition;
+  //!> check whether separator followed separator
+  enum ItemType LastItem;
+  //!> is used to check for duplicates
+  std::set <std::string> DuplicatesList;
 };
 
Index: src/UIElements/Menu/Qt4/QtMenu.hpp
===================================================================
--- src/UIElements/Menu/Qt4/QtMenu.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Menu/Qt4/QtMenu.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -103,5 +103,5 @@
   virtual void addActionItem(const std::string &token, const std::string &description)
   {
-    QAction *action = MenuInstance->addAction(QString(getNameWithAccelerator(description).c_str()));
+    QAction *action = MenuInstance->addAction(QString(getNameWithAccelerator(token).c_str()));
     QtMenuPipe *pipe = new QtMenuPipe(token,action);
     QObject::connect(action, SIGNAL(triggered()),pipe,SLOT(called()));
Index: src/UIElements/Qt4/QtDialog.cpp
===================================================================
--- src/UIElements/Qt4/QtDialog.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/QtDialog.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -45,7 +45,9 @@
 using namespace std;
 
-QtDialog::QtDialog() :
-    QDialog(0)
-{
+QtDialog::QtDialog(const std::string &_title) :
+    QDialog(0),
+    Dialog(_title)
+{
+  setWindowTitle(QString(_title.c_str()));
   // creating and filling of the Dialog window
   mainLayout = new QVBoxLayout();
Index: src/UIElements/Qt4/QtDialog.hpp
===================================================================
--- src/UIElements/Qt4/QtDialog.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/QtDialog.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -30,5 +30,5 @@
   Q_OBJECT
 public:
-  QtDialog();
+  QtDialog(const std::string &_title);
   virtual ~QtDialog();
 
Index: src/UIElements/Qt4/QtUIFactory.cpp
===================================================================
--- src/UIElements/Qt4/QtUIFactory.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/QtUIFactory.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -67,6 +67,6 @@
 }
 
-Dialog* QtUIFactory::makeDialog() {
-  return new QtDialog();
+Dialog* QtUIFactory::makeDialog(const std::string &_title) {
+  return new QtDialog(_title);
 }
 
Index: src/UIElements/Qt4/QtUIFactory.hpp
===================================================================
--- src/UIElements/Qt4/QtUIFactory.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/QtUIFactory.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -26,5 +26,5 @@
   virtual ~QtUIFactory();
 
-  virtual Dialog* makeDialog();
+  virtual Dialog* makeDialog(const std::string &_title);
   virtual MainWindow* makeMainWindow();
 
Index: src/UIElements/Qt4/Query/AtomsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/AtomsQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/AtomsQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -47,5 +47,5 @@
     QtQueryList<const atom *>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new AtomQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/Qt4/Query/DoublesQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/DoublesQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/DoublesQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -47,5 +47,5 @@
     QtQueryList<double>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new DoubleQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/Qt4/Query/ElementsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/ElementsQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/ElementsQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -48,5 +48,5 @@
     QtQueryList<const element *>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new ElementQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/Qt4/Query/FilesQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/FilesQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/FilesQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -48,5 +48,5 @@
     QtQueryList<boost::filesystem::path>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new FileQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/Qt4/Query/IntsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/IntsQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/IntsQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -47,5 +47,5 @@
     QtQueryList<int>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new IntQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/Qt4/Query/MoleculesQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/MoleculesQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/MoleculesQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -47,5 +47,5 @@
     QtQueryList<const molecule *>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new MoleculeQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/Qt4/Query/QtQueryList.hpp
===================================================================
--- src/UIElements/Qt4/Query/QtQueryList.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/QtQueryList.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -107,5 +107,9 @@
 {
 public:
-  ListQuerySubDialog(QtQueryListUntyped *_parent) : parent(_parent), sub(NULL){}
+  ListQuerySubDialog(QtQueryListUntyped *_parent, const std::string &_title) :
+    Dialog(_title),
+    parent(_parent),
+    sub(NULL)
+  {}
   virtual void update()
   {
Index: src/UIElements/Qt4/Query/StringsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/StringsQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/StringsQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -47,5 +47,5 @@
     QtQueryList<std::string>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new StringQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/Qt4/Query/UnsignedIntsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/UnsignedIntsQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/UnsignedIntsQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -47,5 +47,5 @@
     QtQueryList<unsigned int>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new UnsignedIntQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/Qt4/Query/VectorsQtQuery.cpp
===================================================================
--- src/UIElements/Qt4/Query/VectorsQtQuery.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Qt4/Query/VectorsQtQuery.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -48,5 +48,5 @@
     QtQueryList<Vector>(_param, _parent, _dialog, temp)
 {
-  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this);
+  ListQuerySubDialog *subDialog = new ListQuerySubDialog(this, _title);
   subQuery = new VectorQtQuery(*subParam, _title, _description, thisVLayout, subDialog);
   subDialog->setSubQuery(subQuery);
Index: src/UIElements/TextUI/TextDialog.cpp
===================================================================
--- src/UIElements/TextUI/TextDialog.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/TextUI/TextDialog.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -41,5 +41,6 @@
 
 
-TextDialog::TextDialog()
+TextDialog::TextDialog(const std::string &_title) :
+        Dialog(_title)
 {
 }
Index: src/UIElements/TextUI/TextDialog.hpp
===================================================================
--- src/UIElements/TextUI/TextDialog.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/TextUI/TextDialog.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -28,5 +28,5 @@
 {
 public:
-  TextDialog();
+  TextDialog(const std::string &_title);
   virtual ~TextDialog();
 
Index: src/UIElements/TextUI/TextUIFactory.cpp
===================================================================
--- src/UIElements/TextUI/TextUIFactory.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/TextUI/TextUIFactory.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -46,6 +46,6 @@
 
 
-Dialog* TextUIFactory::makeDialog() {
-  return new TextDialog();
+Dialog* TextUIFactory::makeDialog(const std::string &_title) {
+  return new TextDialog(_title);
 }
 
Index: src/UIElements/TextUI/TextUIFactory.hpp
===================================================================
--- src/UIElements/TextUI/TextUIFactory.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/TextUI/TextUIFactory.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -24,5 +24,5 @@
   virtual ~TextUIFactory();
 
-  virtual Dialog* makeDialog();
+  virtual Dialog* makeDialog(const std::string &_title);
   virtual MainWindow* makeMainWindow();
 
Index: src/UIElements/UIFactory.hpp
===================================================================
--- src/UIElements/UIFactory.hpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/UIFactory.hpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -56,5 +56,5 @@
    * Again the type is determined upon factory creation.
    */
-  virtual Dialog* makeDialog()=0;
+  virtual Dialog* makeDialog(const std::string &_title)=0;
 
 protected:
Index: src/UIElements/Views/Qt4/QtToolBar.cpp
===================================================================
--- src/UIElements/Views/Qt4/QtToolBar.cpp	(revision 152e5c638ad572ebf3bef92b902419d5c7ca5504)
+++ src/UIElements/Views/Qt4/QtToolBar.cpp	(revision 1631101c583989217756e201430f3b6f4e8c6e90)
@@ -44,6 +44,6 @@
   QToolBar(_parent)
 {
-  addActionItem("undo", "undo", "edit-undo");
-  addActionItem("redo", "redo", "edit-redo");
+  addActionItem("undo", "undo the last Action", "edit-undo");
+  addActionItem("redo", "redo the last Action", "edit-redo");
 }
 
