Index: src/UIElements/Qt4/Pipe/AtomQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/AtomQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/AtomQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,4 +18,5 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/AtomQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
Index: src/UIElements/Qt4/Pipe/AtomQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/AtomQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/AtomQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,35 @@
+/*
+ * AtomQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef ATOMQTQUERYPIPE_HPP_
+#define ATOMQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QComboBox;
+
+class atom;
+class QtDialog;
+
+class AtomQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  AtomQtQueryPipe(const atom **_content, QtDialog *_dialog, QComboBox *_theBox);
+  virtual ~AtomQtQueryPipe();
+
+public slots:
+  void update(int);
+
+private:
+  const atom **content;
+  QtDialog *dialog;
+  QComboBox *theBox;
+
+};
+
+
+#endif /* ATOMQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/AtomsQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/AtomsQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/AtomsQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,4 +18,5 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/AtomsQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
Index: src/UIElements/Qt4/Pipe/AtomsQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/AtomsQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/AtomsQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,43 @@
+/*
+ * AtomsQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef ATOMSQTQUERYPIPE_HPP_
+#define ATOMSQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+#include <map>
+#include <set>
+#include <vector>
+
+class QListWidget;
+
+class atom;
+class QtDialog;
+
+class AtomsQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  AtomsQtQueryPipe(std::vector<const atom *>*_content, QtDialog *_dialog, QListWidget *_theList);
+  virtual ~AtomsQtQueryPipe();
+
+public slots:
+  void update();
+  void add();
+  void remove();
+
+private:
+  std::vector<const atom *>*content;
+  std::map<int, const atom *> lookup;
+  std::set<const atom *> currentList;
+  QtDialog *dialog;
+  QListWidget *theList;
+
+};
+
+
+#endif /* ATOMSQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/BooleanQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/BooleanQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/BooleanQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,8 +18,10 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/BooleanQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
 #include <Qt/qcombobox.h>
 
+#include "Helpers/MemDebug.hpp"
 
 BooleanQtQueryPipe::BooleanQtQueryPipe(const bool *_content, QtDialog *_dialog, QComboBox *_booleanComboBox) :
Index: src/UIElements/Qt4/Pipe/BooleanQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/BooleanQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/BooleanQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,32 @@
+/*
+ * BooleanQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef BOOLEANQTQUERYPIPE_HPP_
+#define BOOLEANQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QtDialog;
+class QComboBox;
+
+class BooleanQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  BooleanQtQueryPipe(const bool *_content, QtDialog *_dialog, QComboBox *_booleanComboBox);
+  virtual ~BooleanQtQueryPipe();
+
+public slots:
+  void update();
+
+private:
+  const bool *content;
+  QtDialog *dialog;
+  QComboBox *booleanComboBox;
+};
+
+
+#endif /* BOOLEANQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/BoxQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/BoxQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/BoxQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,4 +18,5 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/BoxQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
@@ -23,4 +24,5 @@
 #include <Qt/qtablewidget.h>
 
+#include "Helpers/MemDebug.hpp"
 #include "LinearAlgebra/Matrix.hpp"
 #include "Box.hpp"
Index: src/UIElements/Qt4/Pipe/BoxQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/BoxQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/BoxQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,38 @@
+/*
+ * BoxQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef BOXQTQUERYPIPE_HPP_
+#define BOXQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QTableWidget;
+
+class Box;
+class QtDialog;
+class Matrix;
+
+
+class BoxQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  BoxQtQueryPipe(Box &_content, QtDialog *_dialog, QTableWidget *_inputTable);
+  virtual ~BoxQtQueryPipe();
+
+public slots:
+  void update(int,int);
+
+private:
+  Box &content;
+  QtDialog *dialog;
+  QTableWidget *inputTable;
+
+  Matrix *tmpM;
+};
+
+
+#endif /* BOXQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/DoubleQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/DoubleQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/DoubleQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,8 +18,8 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/DoubleQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
-#include <Qt/qcombobox.h>
-
+#include "Helpers/MemDebug.hpp"
 
 DoubleQtQueryPipe::DoubleQtQueryPipe(double *_content, QtDialog *_dialog) :
Index: src/UIElements/Qt4/Pipe/DoubleQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/DoubleQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/DoubleQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,31 @@
+/*
+ * DoubleQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef DOUBLEQTQUERYPIPE_HPP_
+#define DOUBLEQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QtDialog;
+
+class DoubleQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  DoubleQtQueryPipe(double *_content, QtDialog *_dialog);
+  virtual ~DoubleQtQueryPipe();
+
+public slots:
+  void update(double);
+
+private:
+  double *content;
+  QtDialog *dialog;
+
+};
+
+
+#endif /* DOUBLEQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/ElementQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/ElementQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/ElementQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,8 +18,10 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/ElementQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
 #include <Qt/qcombobox.h>
 
+#include "Helpers/MemDebug.hpp"
 #include "element.hpp"
 #include "periodentafel.hpp"
Index: src/UIElements/Qt4/Pipe/ElementQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/ElementQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/ElementQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,34 @@
+/*
+ * ElementQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef ELEMENTQTQUERYPIPE_HPP_
+#define ELEMENTQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QComboBox;
+
+class element;
+class QtDialog;
+
+class ElementQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  ElementQtQueryPipe(const element **_content, QtDialog *_dialog, QComboBox *_theBox);
+  virtual ~ElementQtQueryPipe();
+
+public slots:
+  void update(int);
+
+private:
+  const element **content;
+  QtDialog *dialog;
+  QComboBox *theBox;
+};
+
+
+#endif /* ELEMENTQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/ElementsQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/ElementsQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/ElementsQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,4 +18,5 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/ElementsQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
@@ -24,4 +25,5 @@
 #include <Qt/qcombobox.h>
 
+#include "Helpers/MemDebug.hpp"
 #include "element.hpp"
 #include "periodentafel.hpp"
Index: src/UIElements/Qt4/Pipe/ElementsQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/ElementsQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/ElementsQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,37 @@
+/*
+ * ElementsQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef ELEMENTSQTQUERYPIPE_HPP_
+#define ELEMENTSQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+#include <vector>
+
+class QComboBox;
+
+class element;
+class QtDialog;
+
+
+class ElementsQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  ElementsQtQueryPipe(std::vector<const element *>*_content, QtDialog *_dialog, QComboBox *_theBox);
+  virtual ~ElementsQtQueryPipe();
+
+public slots:
+  void update(int);
+
+private:
+  std::vector<const element *>*content;
+  QtDialog *dialog;
+  QComboBox *theBox;
+};
+
+
+#endif /* ELEMENTSQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/EmptyQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/EmptyQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/EmptyQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,8 +18,8 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/EmptyQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
-#include <Qt/qcombobox.h>
-
+#include "Helpers/MemDebug.hpp"
 
 EmptyQtQueryPipe::EmptyQtQueryPipe(QtDialog *_dialog, QLabel *_textLabel) :
Index: src/UIElements/Qt4/Pipe/EmptyQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/EmptyQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/EmptyQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,32 @@
+/*
+ * EmptyQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef EMPTYQTQUERYPIPE_HPP_
+#define EMPTYQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QLabel;
+
+class QtDialog;
+
+class EmptyQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  EmptyQtQueryPipe(QtDialog *_dialog, QLabel *_textLabel);
+  virtual ~EmptyQtQueryPipe();
+
+public slots:
+  void update();
+
+private:
+  QtDialog *dialog;
+  QLabel *textLabel;
+};
+
+
+#endif /* EMPTYQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/FileQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/FileQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/FileQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,13 +18,16 @@
 #endif
 
-#include "UIElements/Qt4/QtDialog.hpp"
+#include <QtGui/QFileDialog>
+#include <Qt/qcombobox.h>
+#include <Qt/qlineedit.h>
+#include <Qt/qpushbutton.h>
+
+#include "Helpers/MemDebug.hpp"
 
 #include <iostream>
 #include <boost/filesystem.hpp>
 
-#include <Qt/qcombobox.h>
-#include <Qt/qlineedit.h>
-#include <Qt/qpushbutton.h>
-
+#include "UIElements/Qt4/Pipe/FileQtQueryPipe.hpp"
+#include "UIElements/Qt4/QtDialog.hpp"
 
 FileQtQueryPipe::FileQtQueryPipe(boost::filesystem::path *_content, QtDialog *_dialog, QLineEdit *_filenameLineEdit, QPushButton *_filedialogButton) :
Index: src/UIElements/Qt4/Pipe/FileQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/FileQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/FileQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,39 @@
+/*
+ * FileQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef FILEQTQUERYPIPE_HPP_
+#define FILEQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+#include <boost/filesystem.hpp>
+
+class QtDialog;
+class QLineEdit;
+class QPushButton;
+class QFileDialog;
+
+class FileQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  FileQtQueryPipe(boost::filesystem::path *_content, QtDialog *_dialog, QLineEdit *_filenameLineEdit, QPushButton *_filedialogButton);
+  virtual ~FileQtQueryPipe();
+
+public slots:
+  void update();
+  void showFileDialog();
+
+private:
+  boost::filesystem::path *content;
+  QtDialog *dialog;
+  QLineEdit *filenameLineEdit;
+  QPushButton *filedialogButton;
+  QFileDialog *theFileDialog;
+};
+
+
+#endif /* FILEQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/IntQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/IntQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/IntQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,7 +18,8 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/IntQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
-#include <Qt/qcombobox.h>
+#include "Helpers/MemDebug.hpp"
 
 
Index: src/UIElements/Qt4/Pipe/IntQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/IntQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/IntQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,31 @@
+/*
+ * IntQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef INTQTQUERYPIPE_HPP_
+#define INTQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QtDialog;
+
+class IntQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  IntQtQueryPipe(int *_content, QtDialog *_dialog);
+  virtual ~IntQtQueryPipe();
+
+public slots:
+  void update(int);
+
+private:
+  int *content;
+  QtDialog *dialog;
+
+};
+
+
+#endif /* INTQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/MoleculeQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/MoleculeQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/MoleculeQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,7 +18,10 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/MoleculeQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
 #include <Qt/qcombobox.h>
+
+#include "Helpers/MemDebug.hpp"
 
 #include "Descriptors/MoleculeIdDescriptor.hpp"
Index: src/UIElements/Qt4/Pipe/MoleculeQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/MoleculeQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/MoleculeQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,35 @@
+/*
+ * MoleculeQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef MOLECULEQTQUERYPIPE_HPP_
+#define MOLECULEQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QComboBox;
+
+class molecule;
+class QtDialog;
+
+class MoleculeQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  MoleculeQtQueryPipe(const molecule **_content, QtDialog *_dialog, QComboBox *_theBox);
+  virtual ~MoleculeQtQueryPipe();
+
+public slots:
+  void update(int);
+
+private:
+  const molecule **content;
+  QtDialog *dialog;
+  QComboBox *theBox;
+
+};
+
+
+#endif /* MOLECULEQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/MoleculesQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/MoleculesQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/MoleculesQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,4 +18,5 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/MoleculesQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
@@ -23,4 +24,6 @@
 
 #include <Qt/qcombobox.h>
+
+#include "Helpers/MemDebug.hpp"
 
 #include "Descriptors/MoleculeIdDescriptor.hpp"
Index: src/UIElements/Qt4/Pipe/MoleculesQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/MoleculesQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/MoleculesQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,37 @@
+/*
+ * MoleculesQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef MOLECULESQTQUERYPIPE_HPP_
+#define MOLECULESQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+#include <vector>
+
+class QComboBox;
+
+class molecule;
+class QtDialog;
+
+class MoleculesQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  MoleculesQtQueryPipe(std::vector<const molecule *>*_content, QtDialog *_dialog, QComboBox *_theBox);
+  virtual ~MoleculesQtQueryPipe();
+
+public slots:
+  void update(int);
+
+private:
+  std::vector<const molecule *>*content;
+  QtDialog *dialog;
+  QComboBox *theBox;
+
+};
+
+
+#endif /* MOLECULESQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/QtQueryListPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/QtQueryListPipe.hpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/QtQueryListPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -9,8 +9,11 @@
 #define QTQUERYLISTPIPE_HPP_
 
+#include "QtQueryPipe.hpp"
+
 #include <boost/lexical_cast.hpp>
 
 using boost::lexical_cast;
 using boost::bad_lexical_cast;
+
 
 template<typename T> QtQueryListPipe<T>::QtQueryListPipe(std::vector<T> *_content, QtDialog *_dialog, QLineEdit *_inputBox, QListWidget *_inputList, QPushButton *_AddButton, QPushButton *_RemoveButton) :
Index: src/UIElements/Qt4/Pipe/QtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/QtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/QtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,48 @@
+/*
+ * QtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef QTQUERYPIPE_HPP_
+#define QTQUERYPIPE_HPP_
+
+// All kinds of plumbing for Queries
+// Plumbing needs to be outside of the class where it is needed,
+// since MOC doesn't like nested classes
+
+#include <Qt/qwidget.h>
+
+#include <vector>
+
+#include "Helpers/MemDebug.hpp"
+
+class QLineEdit;
+class QListWidget;
+class QPushButton;
+
+class QtDialog;
+
+template<typename T> class QtQueryListPipe : public QWidget {
+  public:
+    QtQueryListPipe(std::vector<T> *_content, QtDialog *_dialog, QLineEdit *_inputBox, QListWidget *_inputList, QPushButton *_AddButton, QPushButton *_RemoveButton);
+    virtual ~QtQueryListPipe();
+    void AddInteger();
+    void RemoveInteger();
+    void IntegerSelected();
+    void IntegerEntered(const QString&);
+
+  private:
+    void AddValue(T item);
+    void RemoveRow(int row);
+
+    std::vector<T> *content;
+    QtDialog *dialog;
+    QLineEdit *inputBox;
+    QListWidget *inputList;
+    QPushButton *AddButton;
+    QPushButton *RemoveButton;
+};
+
+#endif /* QTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/StringQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/StringQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/StringQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,9 +18,10 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/StringQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
+#include "Helpers/MemDebug.hpp"
+
 #include <string>
-
-#include <Qt/qcombobox.h>
 
 
Index: src/UIElements/Qt4/Pipe/StringQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/StringQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/StringQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,33 @@
+/*
+ * StringQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef STRINGQTQUERYPIPE_HPP_
+#define STRINGQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+#include <string>
+
+class QtDialog;
+
+class StringQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  StringQtQueryPipe(std::string *_content, QtDialog *_dialog);
+  virtual ~StringQtQueryPipe();
+
+public slots:
+  void update(const QString&);
+
+private:
+  std::string *content;
+  QtDialog *dialog;
+
+};
+
+
+#endif /* STRINGQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/VectorQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/VectorQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/VectorQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,7 +18,10 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/VectorQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
 #include <Qt/qcombobox.h>
+
+#include "Helpers/MemDebug.hpp"
 
 
Index: src/UIElements/Qt4/Pipe/VectorQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/VectorQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/VectorQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,34 @@
+/*
+ * VectorQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef VECTORQTQUERYPIPE_HPP_
+#define VECTORQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+class QComboBox;
+
+class QtDialog;
+class Vector;
+
+class VectorQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  VectorQtQueryPipe(Vector *_content, QtDialog *_dialog, QComboBox *_theBox);
+  virtual ~VectorQtQueryPipe();
+
+public slots:
+  void update();
+
+private:
+  Vector *content;
+  QtDialog *dialog;
+  QComboBox *theBox;
+};
+
+
+#endif /* VECTORQTQUERYPIPE_HPP_ */
Index: src/UIElements/Qt4/Pipe/VectorsQtQueryPipe.cpp
===================================================================
--- src/UIElements/Qt4/Pipe/VectorsQtQueryPipe.cpp	(revision 5813ac0cc79578b47db146eb94c5be04a9e6ac7b)
+++ src/UIElements/Qt4/Pipe/VectorsQtQueryPipe.cpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -18,9 +18,12 @@
 #endif
 
+#include "UIElements/Qt4/Pipe/VectorsQtQueryPipe.hpp"
 #include "UIElements/Qt4/QtDialog.hpp"
 
+#include <Qt/qcombobox.h>
+
+#include "Helpers/MemDebug.hpp"
+
 #include <vector>
-
-#include <Qt/qcombobox.h>
 
 
Index: src/UIElements/Qt4/Pipe/VectorsQtQueryPipe.hpp
===================================================================
--- src/UIElements/Qt4/Pipe/VectorsQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
+++ src/UIElements/Qt4/Pipe/VectorsQtQueryPipe.hpp	(revision a5ddf04694c4e27ef6c7c442361c2092c16af622)
@@ -0,0 +1,36 @@
+/*
+ * VectorsQtQueryPipe.hpp
+ *
+ *  Created on: Nov 8, 2010
+ *      Author: heber
+ */
+
+#ifndef VECTORSQTQUERYPIPE_HPP_
+#define VECTORSQTQUERYPIPE_HPP_
+
+#include <Qt/qwidget.h>
+
+#include <vector>
+
+class QComboBox;
+
+class QtDialog;
+class Vector;
+
+class VectorsQtQueryPipe : public QWidget {
+  Q_OBJECT
+public:
+  VectorsQtQueryPipe(std::vector<Vector>*_content, QtDialog *_dialog, QComboBox *_theBox);
+  virtual ~VectorsQtQueryPipe();
+
+public slots:
+  void update();
+
+private:
+  std::vector<Vector> *content;
+  QtDialog *dialog;
+  QComboBox *theBox;
+};
+
+
+#endif /* VECTORSQTQUERYPIPE_HPP_ */
