Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_atomcount.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_atomcount.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_atomcount.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
@@ -0,0 +1,53 @@
+/*
+ * QtMoleculeItem_atomcount.hpp
+ *
+ *  Created on: Jan 18, 2015
+ *      Author: heber
+ */
+
+#ifndef QTMOLECULEITEM_ATOMCOUNT_HPP_
+#define QTMOLECULEITEM_ATOMCOUNT_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.hpp"
+
+#include "molecule.hpp"
+
+class QtMoleculeItemFactory;
+
+/** This class contains the atomcount of a molecule and keeps it up to date.
+ *
+ */
+class QtMoleculeItem_atomcount : public QtMoleculeItem
+{
+  //!> only allow factory to instantiate items
+  friend class QtMoleculeItemFactory;
+
+  QtMoleculeItem_atomcount(
+      const molecule * const _mol,
+      emitDirtyState_t _emitDirtyState) :
+        QtMoleculeItem(_mol, channellist_atomcount, QtMoleculeItem::NeedsMove, _emitDirtyState)
+  {
+    // cannot call pure virtual function in QtMoleculeItem's cstor
+    internal_updateState();
+  }
+
+  /** Performs the update of the molecule's atomcount.
+   *
+   */
+  void internal_updateState()
+  {
+    setText(QString::number(mol->getAtomCount()));
+  }
+
+  //!> notification channels of molecule specific to this molecule item, required for update
+  static const QtMoleculeItem::channellist_t channellist_atomcount;
+};
+
+
+
+#endif /* QTMOLECULEITEM_ATOMCOUNT_HPP_ */
Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_formula.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_formula.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_formula.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
@@ -0,0 +1,56 @@
+/*
+ * QtMoleculeItem_formula.hpp
+ *
+ *  Created on: Jan 18, 2015
+ *      Author: heber
+ */
+
+#ifndef QTMOLECULEITEM_FORMULA_HPP_
+#define QTMOLECULEITEM_FORMULA_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.hpp"
+
+#include <string>
+
+#include "Formula.hpp"
+#include "molecule.hpp"
+
+class QtMoleculeItemFactory;
+
+/** This class contains the formula of a molecule and keeps it up to date.
+ *
+ */
+class QtMoleculeItem_formula : public QtMoleculeItem
+{
+  //!> only allow factory to instantiate items
+  friend class QtMoleculeItemFactory;
+
+  QtMoleculeItem_formula(
+      const molecule * const _mol,
+      emitDirtyState_t _emitDirtyState) :
+        QtMoleculeItem(_mol, channellist_formula, QtMoleculeItem::NeedsMove, _emitDirtyState)
+  {
+    // cannot call pure virtual function in QtMoleculeItem's cstor
+    internal_updateState();
+  }
+
+  /** Performs the update of the molecule's formula.
+   *
+   */
+  void internal_updateState()
+  {
+    setText(QString(mol->getFormula().toString().c_str()));
+  }
+
+  //!> notification channels of molecule specific to this molecule item, required for update
+  static const QtMoleculeItem::channellist_t channellist_formula;
+};
+
+
+
+#endif /* QTMOLECULEITEM_FORMULA_HPP_ */
Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_name.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_name.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_name.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
@@ -0,0 +1,52 @@
+/*
+ * QtMoleculeItem_name.hpp
+ *
+ *  Created on: Jan 18, 2015
+ *      Author: heber
+ */
+
+#ifndef QTMOLECULEITEM_NAME_HPP_
+#define QTMOLECULEITEM_NAME_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.hpp"
+
+#include "molecule.hpp"
+
+class QtMoleculeItemFactory;
+
+/** This class contains the name of a molecule and keeps it up to date.
+ *
+ */
+class QtMoleculeItem_name : public QtMoleculeItem
+{
+  //!> only allow factory to instantiate items
+  friend class QtMoleculeItemFactory;
+
+  QtMoleculeItem_name(
+      const molecule * const _mol,
+      emitDirtyState_t _emitDirtyState) :
+        QtMoleculeItem(_mol, channellist_name, QtMoleculeItem::DoesNotMove, _emitDirtyState)
+  {
+    // cannot call pure virtual function in QtMoleculeItem's cstor
+    internal_updateState();
+  }
+
+  /** Performs the update of the molecule's name.
+   *
+   */
+  void internal_updateState()
+  {
+    setText(QString(mol->getName().c_str()));
+  }
+
+  //!> notification channels of molecule specific to this molecule item, required for update
+  static const QtMoleculeItem::channellist_t channellist_name;
+};
+
+
+#endif /* QTMOLECULEITEM_NAME_HPP_ */
Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_occurrence.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_occurrence.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_occurrence.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
@@ -0,0 +1,51 @@
+/*
+ * QtMoleculeItem_occurrence.hpp
+ *
+ *  Created on: Jan 18, 2015
+ *      Author: heber
+ */
+
+#ifndef QTMOLECULEITEM_OCCURRENCE_HPP_
+#define QTMOLECULEITEM_OCCURRENCE_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.hpp"
+
+class QtMoleculeItemFactory;
+
+/** This class contains the occurrence of a molecule.
+ *
+ */
+class QtMoleculeItem_occurrence : public QtMoleculeItem
+{
+  //!> only allow factory to instantiate items
+  friend class QtMoleculeItemFactory;
+
+  QtMoleculeItem_occurrence(
+      const molecule * const _mol,
+      emitDirtyState_t _emitDirtyState) :
+        QtMoleculeItem(_mol, channellist_occurrence, QtMoleculeItem::DoesNotMove, _emitDirtyState)
+  {
+    // cannot call pure virtual function in QtMoleculeItem's cstor
+    internal_updateState();
+  }
+
+  /** Performs the update of the molecule's occurrence.
+   *
+   */
+  void internal_updateState()
+  {
+    setText(QString(""));
+  }
+
+  //!> notification channels of molecule specific to this molecule item, required for update
+  static const QtMoleculeItem::channellist_t channellist_occurrence;
+};
+
+
+
+#endif /* QTMOLECULEITEM_OCCURRENCE_HPP_ */
Index: src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_visibility.hpp
===================================================================
--- src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_visibility.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
+++ src/UIElements/Views/Qt4/MoleculeList/SpecificItems/QtMoleculeItem_visibility.hpp	(revision 6d1e0a20c242ab6c7b0ace4bf93ff53336b9cc26)
@@ -0,0 +1,51 @@
+/*
+ * QtMoleculeItem_visibility.hpp
+ *
+ *  Created on: Jan 18, 2015
+ *      Author: heber
+ */
+
+#ifndef QTMOLECULEITEM_VISIBILITY_HPP_
+#define QTMOLECULEITEM_VISIBILITY_HPP_
+
+// include config.h
+#ifdef HAVE_CONFIG_H
+#include <config.h>
+#endif
+
+#include "UIElements/Views/Qt4/MoleculeList/QtMoleculeItem.hpp"
+
+class QtMoleculeItemFactory;
+
+/** This class contains the visibility of a molecule and keeps it up to date.
+ *
+ */
+class QtMoleculeItem_visibility : public QtMoleculeItem
+{
+  //!> only allow factory to instantiate items
+  friend class QtMoleculeItemFactory;
+
+  QtMoleculeItem_visibility(
+      const molecule * const _mol,
+      emitDirtyState_t _emitDirtyState) :
+        QtMoleculeItem(_mol, channellist_visibility, QtMoleculeItem::DoesNotMove, _emitDirtyState)
+  {
+    setFlags(flags() | Qt::ItemIsUserCheckable);
+    setCheckState(Qt::Unchecked);
+    // cannot call pure virtual function in QtMoleculeItem's cstor
+    internal_updateState();
+  }
+
+  /** Performs the update of the molecule's visibility.
+   *
+   */
+  void internal_updateState()
+  {}
+
+  //!> notification channels of molecule specific to this molecule item, required for update
+  static const QtMoleculeItem::channellist_t channellist_visibility;
+};
+
+
+
+#endif /* QTMOLECULEITEM_VISIBILITY_HPP_ */
