Index: src/UIElements/Views/Qt4/QtMoleculeView.cpp
===================================================================
--- src/UIElements/Views/Qt4/QtMoleculeView.cpp	(revision 407638e48fac07c5800aec4019fa6c579cee8420)
+++ src/UIElements/Views/Qt4/QtMoleculeView.cpp	(revision 7b6bcfed168caa6002b849fdf3aae450af884029)
@@ -31,11 +31,12 @@
 
 QtMoleculeView::QtMoleculeView() :
-    QTabWidget()
+    QTabWidget(),
+    page_mol(NULL), page_atom(NULL)
 {
-  allPage = new QTAllMoleculePage();
+  /*allPage = new QTAllMoleculePage();
   addTab(allPage,QString("All Molecules"));
 
   connect(this,SIGNAL(addMolecule(molecule*)),allPage,SLOT(addMolecule(molecule*)));
-  connect(this,SIGNAL(removeMolecule(molecule*)),allPage,SLOT(removeMolecule(molecule*)));
+  connect(this,SIGNAL(removeMolecule(molecule*)),allPage,SLOT(removeMolecule(molecule*)));*/
 }
 
@@ -43,5 +44,5 @@
 {}
 
-void QtMoleculeView::moleculeSelected(molecule *mol){
+/*void QtMoleculeView::moleculeSelected(molecule *mol){
   if(!pages.count(mol)){
     string molName = mol->name;
@@ -68,23 +69,56 @@
 void QtMoleculeView::nameChanged(QTMoleculePage *page, std::string name){
   setTabText(indexOf(page),QString(name.c_str()));
+}*/
+
+void QtMoleculeView::nameChanged(QTMoleculePage *page, std::string name){}
+
+void QtMoleculeView::atomHover(const atom *_atom)
+{
+  // Remove old tabs.
+  if (page_atom){
+    removeTab(indexOf(page_atom));
+    delete(page_atom);
+    page_atom = NULL;
+  }
+  if (page_mol){
+    removeTab(indexOf(page_mol));
+    delete(page_mol);
+    page_mol = NULL;
+  }
+
+
+  // Show new tabs.
+  if (_atom){
+    page_atom = new QTAtomPage(_atom, "test");
+    addTab(page_atom, "atom...");
+  }
 }
 
-/************************ Tab for all Molecules ********************/
+/************************ Tab for single Atoms ********************/
 
-QTAllMoleculePage::QTAllMoleculePage() :
-  Observer("QTAllMoleculePage")
-{}
+QTAtomPage::QTAtomPage(const atom *_atom,std::string _name) :
+  Observer("QTAtomPage"),
+  atomRef(_atom), name(_name)
+{
+  atomRef->signOn(this);
+}
 
-void QTAllMoleculePage::addMolecule(molecule *mol){}
+QTAtomPage::~QTAtomPage()
+{
+  atomRef->signOff(this);
+}
 
-void QTAllMoleculePage::removeMolecule(molecule *mol){}
+void QTAtomPage::update(Observable *subject){
+  /*if(name != atomRef->name){
+    name = atomRef->name;
+    emit nameChanged(this,name);
+  }*/
+}
 
-void QTAllMoleculePage::update(Observable *subject){}
-
-void QTAllMoleculePage::subjectKilled(Observable *subject){}
+void QTAtomPage::subjectKilled(Observable *subject){}
 
 /************************ Tab for single Molecules *****************/
 
-QTMoleculePage::QTMoleculePage(molecule *_mol, std::string _name) :
+QTMoleculePage::QTMoleculePage(const molecule *_mol, std::string _name) :
     Observer("QTMoleculePage"),
     mol(_mol), name(_name)
Index: src/UIElements/Views/Qt4/QtMoleculeView.hpp
===================================================================
--- src/UIElements/Views/Qt4/QtMoleculeView.hpp	(revision 407638e48fac07c5800aec4019fa6c579cee8420)
+++ src/UIElements/Views/Qt4/QtMoleculeView.hpp	(revision 7b6bcfed168caa6002b849fdf3aae450af884029)
@@ -20,7 +20,8 @@
 
 class molecule;
+class atom;
 
 // Forwarding of the Tab-Pages
-class QTAllMoleculePage;
+class QTAtomPage;
 class QTMoleculePage;
 
@@ -33,31 +34,30 @@
 
 public slots:
-  void moleculeSelected(molecule *);
-  void moleculeUnSelected(molecule *);
+  void atomHover(const atom *_atom);
 
   void nameChanged(QTMoleculePage *page, std::string name);
 
-signals:
-  void addMolecule(molecule *);
-  void removeMolecule(molecule *);
-
-
 private:
-  QTAllMoleculePage *allPage; //!< contained widget to cary information of all selected molecules
-  std::map<molecule*,QTMoleculePage *> pages;//!< contained widget to cary information on a specific molecule
+  QTMoleculePage *page_mol;
+  QTAtomPage *page_atom;
 };
 
 /**
- * Widget to display the tab page for all selected molecules
+ * Widget to display the tab page for a single atom
  */
-class QTAllMoleculePage : public QWidget, public Observer {
+class QTAtomPage : public QWidget, public Observer {
   Q_OBJECT
 public:
-  QTAllMoleculePage();
+  QTAtomPage(const atom *_atom,std::string _name);
+  virtual ~QTAtomPage();
   void update(Observable *subject);
   void subjectKilled(Observable *subject);
-public slots:
-  void addMolecule(molecule *mol);
-  void removeMolecule(molecule *mol);
+
+//public slots:
+//  void nameChanged(QTAtomPage*,std::string);
+
+private:
+  const atom *atomRef;
+  std::string name;
 };
 
@@ -68,5 +68,5 @@
   Q_OBJECT
 public:
-  QTMoleculePage(molecule *_mol,std::string _name);
+  QTMoleculePage(const molecule *_mol,std::string _name);
   virtual ~QTMoleculePage();
 
@@ -78,5 +78,5 @@
 
 private:
-  molecule *mol;
+  const molecule *mol;
   std::string name;
 };
