Index: src/UIElements/CommandLineUI/unittests/Makefile.am
===================================================================
--- src/UIElements/CommandLineUI/unittests/Makefile.am	(revision bf4b9ff97113f58a6031de8f9e67813336ae63f1)
+++ src/UIElements/CommandLineUI/unittests/Makefile.am	(revision 4555736a848291ba2a2394892fd02081032c5861)
@@ -2,32 +2,31 @@
 # Also indentation by a single tab
 
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/LinearAlgebra/src -I$(top_srcdir)/src/UIElements
+UIELEMENTSCOMMANDLINEPARSERTESTSSOURCES = \
+  ../UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistenyUnitTest.cpp
 
-AM_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
-AM_CPPFLAGS = ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS}
+UIELEMENTSCOMMANDLINEPARSERTESTSHEADERS = \
+  ../UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistenyUnitTest.hpp
 
-TESTS = \
-  CommandLineParser_ActionRegistry_ConsistenyUnitTest
+UIELEMENTSCOMMANDLINEPARSERTESTS = \
+  CommandLineParser_ActionRegistry_ConsistencyUnitTest
 
+TESTS += $(UIELEMENTSCOMMANDLINEPARSERTESTS)
+check_PROGRAMS += $(UIELEMENTSCOMMANDLINEPARSERTESTS) 
+noinst_PROGRAMS += $(UIELEMENTSCOMMANDLINEPARSERTESTS)
 
-check_PROGRAMS = $(TESTS) 
-noinst_PROGRAMS = $(TESTS)
-
-BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB)
-
-CommandLineParser_ActionRegistry_ConsistenyUnitTest_SOURCES =  $(top_srcdir)/src/unittests/UnitTestMain.cpp \
-	CommandLineParser_ActionRegistry_ConsistenyUnitTest.cpp \
-	CommandLineParser_ActionRegistry_ConsistenyUnitTest.hpp
-CommandLineParser_ActionRegistry_ConsistenyUnitTest_LDADD = \
-  ../../libMolecuilderUI.la \
-  ../../../Actions/libMolecuilderActions.la \
-	../../../Graph/libMolecuilderGraph.la \
-	../../../libMolecuilder.la \
-	../../../Parser/libMolecuilderParser.la \
-	../../../Shapes/libMolecuilderShapes.la \
-	$(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
-	../../../RandomNumbers/libMolecuilderRandomNumbers.la \
-	${CodePatterns_LIBS} \
-	$(BOOST_LIB)
+CommandLineParser_ActionRegistry_ConsistencyUnitTest_SOURCES =  $(top_srcdir)/src/unittests/UnitTestMain.cpp \
+  ../UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistenyUnitTest.cpp \
+  ../UIElements/CommandLineUI/unittests/CommandLineParser_ActionRegistry_ConsistenyUnitTest.hpp
+CommandLineParser_ActionRegistry_ConsistencyUnitTest_LDADD = \
+  ../libMolecuilderUI.la \
+  ../libMolecuilderActions.la \
+  ../libMolecuilderGraph.la \
+  ../libMolecuilder.la \
+  ../libMolecuilderParser.la \
+  ../libMolecuilderShapes.la \
+  $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
+  ../libMolecuilderRandomNumbers.la \
+  ${CodePatterns_LIBS} \
+  $(BOOST_LIB)
 
 #AUTOMAKE_OPTIONS = parallel-tests
Index: src/UIElements/Makefile.am
===================================================================
--- src/UIElements/Makefile.am	(revision bf4b9ff97113f58a6031de8f9e67813336ae63f1)
+++ src/UIElements/Makefile.am	(revision 4555736a848291ba2a2394892fd02081032c5861)
@@ -1,50 +1,113 @@
 # Below is all for the User Interface
 
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/LinearAlgebra/src -I$(top_srcdir)/src/UIElements
-
-AM_LDFLAGS = ${CodePatterns_LIBS} -ldl
-AM_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} ${QT_CXXFLAGS}
- 
-VIEWSOURCE = \
-  Views/View.cpp \
-  Views/StringView.cpp \
-  Views/MethodStringView.cpp \
-  Views/StreamStringView.cpp
-VIEWHEADER = \
-  Views/View.hpp \
-  Views/StringView.hpp \
-  Views/MethodStringView.hpp \
-  Views/StreamStringView.hpp
+COMMANDLINEUISOURCE = \
+	UIElements/CommandLineUI/Query/AtomCommandLineQuery.cpp \
+	UIElements/CommandLineUI/Query/AtomsCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/BooleanCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/BoxCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/DoubleCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/DoublesCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/ElementCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/ElementsCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/EmptyCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/FileCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/IntCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/IntsCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/MoleculeCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/MoleculesCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/StringCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/StringsCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/VectorCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/VectorsCommandLineQuery.cpp \
+  UIElements/CommandLineUI/Query/RandomNumberDistribution_ParametersCommandLineQuery.cpp \
+  UIElements/CommandLineUI/CommandLineDialog.cpp \
+  UIElements/CommandLineUI/CommandLineParser.cpp \
+  UIElements/CommandLineUI/CommandLineParser_validate.cpp \
+  UIElements/CommandLineUI/CommandLineStatusIndicator.cpp \
+  UIElements/CommandLineUI/CommandLineUIFactory.cpp \
+  UIElements/CommandLineUI/CommandLineWindow.cpp \
+  UIElements/CommandLineUI/TypeEnumContainer.cpp
+  
+COMMANDLINEUIHEADER = \
+  UIElements/CommandLineUI/Query/CommandLineQuery.hpp \
+  UIElements/CommandLineUI/CommandLineDialog.hpp \
+  UIElements/CommandLineUI/CommandLineParser.hpp \
+  UIElements/CommandLineUI/CommandLineParser_validate.hpp \
+  UIElements/CommandLineUI/CommandLineStatusIndicator.hpp \
+  UIElements/CommandLineUI/CommandLineUIFactory.hpp \
+  UIElements/CommandLineUI/CommandLineWindow.hpp \
+  UIElements/CommandLineUI/TypeEnumContainer.hpp
 
 MENUSOURCE = \
-  Menu/Menu.cpp \
-  Menu/MenuDescription.cpp \
-  Menu/MenuInterface.cpp
+  UIElements/Menu/Menu.cpp \
+  UIElements/Menu/MenuDescription.cpp \
+  UIElements/Menu/MenuInterface.cpp
 
 MENUHEADER = \
-  Menu/Menu.hpp \
-  Menu/MenuDescription.hpp \
-  Menu/MenuInterface.hpp
+  UIElements/Menu/Menu.hpp \
+  UIElements/Menu/MenuDescription.hpp \
+  UIElements/Menu/MenuInterface.hpp
   
 TEXTMENUSOURCE = \
-  Menu/TextMenu/TxMenuLeaveAction.cpp \
-  Menu/TextMenu/TxMenu.cpp \
-  Menu/TextMenu/MenuItem.cpp \
-  Menu/TextMenu/SubMenuItem.cpp \
-  Menu/TextMenu/ActionMenuItem.cpp \
-  Menu/TextMenu/SeparatorMenuItem.cpp \
-  Menu/TextMenu/DisplayMenuItem.cpp
+  UIElements/Menu/TextMenu/TxMenuLeaveAction.cpp \
+  UIElements/Menu/TextMenu/TxMenu.cpp \
+  UIElements/Menu/TextMenu/MenuItem.cpp \
+  UIElements/Menu/TextMenu/SubMenuItem.cpp \
+  UIElements/Menu/TextMenu/ActionMenuItem.cpp \
+  UIElements/Menu/TextMenu/SeparatorMenuItem.cpp \
+  UIElements/Menu/TextMenu/DisplayMenuItem.cpp
   
 TEXTMENUHEADER = \
-  Menu/TextMenu/TextMenu.hpp \
-  Menu/TextMenu/TxMenu.hpp \
-  Menu/TextMenu/MenuItem.hpp \
-  Menu/TextMenu/SubMenuItem.hpp \
-  Menu/TextMenu/ActionMenuItem.hpp \
-  Menu/TextMenu/SeparatorMenuItem.hpp \
-  Menu/TextMenu/DisplayMenuItem.hpp
+  UIElements/Menu/TextMenu/TextMenu.hpp \
+  UIElements/Menu/TextMenu/TxMenu.hpp \
+  UIElements/Menu/TextMenu/MenuItem.hpp \
+  UIElements/Menu/TextMenu/SubMenuItem.hpp \
+  UIElements/Menu/TextMenu/ActionMenuItem.hpp \
+  UIElements/Menu/TextMenu/SeparatorMenuItem.hpp \
+  UIElements/Menu/TextMenu/DisplayMenuItem.hpp
+
+TEXTUISOURCE = \
+  UIElements/TextUI/Query/AtomsTextQuery.cpp \
+  UIElements/TextUI/Query/AtomTextQuery.cpp \
+  UIElements/TextUI/Query/BooleanTextQuery.cpp \
+  UIElements/TextUI/Query/BoxTextQuery.cpp \
+  UIElements/TextUI/Query/DoubleTextQuery.cpp \
+  UIElements/TextUI/Query/DoublesTextQuery.cpp \
+  UIElements/TextUI/Query/ElementTextQuery.cpp \
+  UIElements/TextUI/Query/ElementsTextQuery.cpp \
+  UIElements/TextUI/Query/EmptyTextQuery.cpp \
+  UIElements/TextUI/Query/FileTextQuery.cpp \
+  UIElements/TextUI/Query/IntTextQuery.cpp \
+  UIElements/TextUI/Query/IntsTextQuery.cpp \
+  UIElements/TextUI/Query/MoleculesTextQuery.cpp \
+  UIElements/TextUI/Query/MoleculeTextQuery.cpp \
+  UIElements/TextUI/Query/StringTextQuery.cpp \
+  UIElements/TextUI/Query/StringsTextQuery.cpp \
+  UIElements/TextUI/Query/VectorTextQuery.cpp \
+  UIElements/TextUI/Query/VectorsTextQuery.cpp \
+  UIElements/TextUI/Query/RandomNumberDistribution_ParametersTextQuery.cpp \
+  UIElements/TextUI/TextDialog.cpp \
+  UIElements/TextUI/TextStatusIndicator.cpp \
+  UIElements/TextUI/TextUIFactory.cpp \
+  UIElements/TextUI/TextWindow.cpp
+TEXTUIHEADER = \
+  UIElements/TextUI/Query/TextQuery.hpp \
+  UIElements/TextUI/TextDialog.hpp \
+  UIElements/TextUI/TextStatusIndicator.hpp \
+  UIElements/TextUI/TextUIFactory.hpp \
+  UIElements/TextUI/TextWindow.hpp
+
+VIEWSOURCE = \
+  UIElements/Views/View.cpp \
+  UIElements/Views/StringView.cpp \
+  UIElements/Views/MethodStringView.cpp \
+  UIElements/Views/StreamStringView.cpp
+VIEWHEADER = \
+  UIElements/Views/View.hpp \
+  UIElements/Views/StringView.hpp \
+  UIElements/Views/MethodStringView.hpp \
+  UIElements/Views/StreamStringView.hpp
 
 UISOURCE = \
-  ${ACTIONSSOURCE} \
   ${COMMANDLINEUISOURCE} \
   ${MENUSOURCE} \
@@ -52,29 +115,28 @@
   ${TEXTUISOURCE} \
   ${VIEWSOURCE} \
-  Query/AtomQuery.cpp \
-  Query/AtomsQuery.cpp \
-  Query/BooleanQuery.cpp \
-  Query/BoxQuery.cpp \
-  Query/DoubleQuery.cpp \
-  Query/DoublesQuery.cpp \
-  Query/ElementQuery.cpp \
-  Query/ElementsQuery.cpp \
-  Query/EmptyQuery.cpp \
-  Query/FileQuery.cpp \
-  Query/IntQuery.cpp \
-  Query/IntsQuery.cpp \
-  Query/MoleculeQuery.cpp \
-  Query/MoleculesQuery.cpp \
-  Query/Query.cpp \
-  Query/RandomNumberDistribution_ParametersQuery.cpp \
-  Query/StringQuery.cpp \
-  Query/StringsQuery.cpp \
-  Query/VectorQuery.cpp \
-  Query/VectorsQuery.cpp \
-  Dialog.cpp \
-  MainWindow.cpp
+  UIElements/Query/AtomQuery.cpp \
+  UIElements/Query/AtomsQuery.cpp \
+  UIElements/Query/BooleanQuery.cpp \
+  UIElements/Query/BoxQuery.cpp \
+  UIElements/Query/DoubleQuery.cpp \
+  UIElements/Query/DoublesQuery.cpp \
+  UIElements/Query/ElementQuery.cpp \
+  UIElements/Query/ElementsQuery.cpp \
+  UIElements/Query/EmptyQuery.cpp \
+  UIElements/Query/FileQuery.cpp \
+  UIElements/Query/IntQuery.cpp \
+  UIElements/Query/IntsQuery.cpp \
+  UIElements/Query/MoleculeQuery.cpp \
+  UIElements/Query/MoleculesQuery.cpp \
+  UIElements/Query/Query.cpp \
+  UIElements/Query/RandomNumberDistribution_ParametersQuery.cpp \
+  UIElements/Query/StringQuery.cpp \
+  UIElements/Query/StringsQuery.cpp \
+  UIElements/Query/VectorQuery.cpp \
+  UIElements/Query/VectorsQuery.cpp \
+  UIElements/Dialog.cpp \
+  UIElements/MainWindow.cpp
   
 UIHEADER = \
-  ${ACTIONSHEADER} \
   ${COMMANDLINEUIHEADER} \
   ${MENUHEADER} \
@@ -82,170 +144,111 @@
   ${TEXTUIHEADER} \
   ${VIEWHEADER} \
-  Dialog.hpp \
-  MainWindow.hpp
-
-TEXTUISOURCE = \
-  TextUI/Query/AtomsTextQuery.cpp \
-  TextUI/Query/AtomTextQuery.cpp \
-  TextUI/Query/BooleanTextQuery.cpp \
-  TextUI/Query/BoxTextQuery.cpp \
-  TextUI/Query/DoubleTextQuery.cpp \
-  TextUI/Query/DoublesTextQuery.cpp \
-  TextUI/Query/ElementTextQuery.cpp \
-  TextUI/Query/ElementsTextQuery.cpp \
-  TextUI/Query/EmptyTextQuery.cpp \
-  TextUI/Query/FileTextQuery.cpp \
-  TextUI/Query/IntTextQuery.cpp \
-  TextUI/Query/IntsTextQuery.cpp \
-  TextUI/Query/MoleculesTextQuery.cpp \
-  TextUI/Query/MoleculeTextQuery.cpp \
-  TextUI/Query/StringTextQuery.cpp \
-  TextUI/Query/StringsTextQuery.cpp \
-  TextUI/Query/VectorTextQuery.cpp \
-  TextUI/Query/VectorsTextQuery.cpp \
-  TextUI/Query/RandomNumberDistribution_ParametersTextQuery.cpp \
-  TextUI/TextDialog.cpp \
-  TextUI/TextStatusIndicator.cpp \
-  TextUI/TextUIFactory.cpp \
-  TextUI/TextWindow.cpp
-TEXTUIHEADER = \
-  TextUI/Query/TextQuery.hpp \
-  TextUI/TextDialog.hpp \
-  TextUI/TextStatusIndicator.hpp \
-  TextUI/TextUIFactory.hpp \
-  TextUI/TextWindow.hpp
-
-COMMANDLINEUISOURCE = \
-  CommandLineUI/Query/AtomCommandLineQuery.cpp \
-  CommandLineUI/Query/AtomsCommandLineQuery.cpp \
-  CommandLineUI/Query/BooleanCommandLineQuery.cpp \
-  CommandLineUI/Query/BoxCommandLineQuery.cpp \
-  CommandLineUI/Query/DoubleCommandLineQuery.cpp \
-  CommandLineUI/Query/DoublesCommandLineQuery.cpp \
-  CommandLineUI/Query/ElementCommandLineQuery.cpp \
-  CommandLineUI/Query/ElementsCommandLineQuery.cpp \
-  CommandLineUI/Query/EmptyCommandLineQuery.cpp \
-  CommandLineUI/Query/FileCommandLineQuery.cpp \
-  CommandLineUI/Query/IntCommandLineQuery.cpp \
-  CommandLineUI/Query/IntsCommandLineQuery.cpp \
-  CommandLineUI/Query/MoleculeCommandLineQuery.cpp \
-  CommandLineUI/Query/MoleculesCommandLineQuery.cpp \
-  CommandLineUI/Query/StringCommandLineQuery.cpp \
-  CommandLineUI/Query/StringsCommandLineQuery.cpp \
-  CommandLineUI/Query/VectorCommandLineQuery.cpp \
-  CommandLineUI/Query/VectorsCommandLineQuery.cpp \
-  CommandLineUI/Query/RandomNumberDistribution_ParametersCommandLineQuery.cpp \
-  CommandLineUI/CommandLineDialog.cpp \
-  CommandLineUI/CommandLineParser.cpp \
-  CommandLineUI/CommandLineParser_validate.cpp \
-  CommandLineUI/CommandLineStatusIndicator.cpp \
-  CommandLineUI/CommandLineUIFactory.cpp \
-  CommandLineUI/CommandLineWindow.cpp \
-  CommandLineUI/TypeEnumContainer.cpp
-  
-COMMANDLINEUIHEADER = \
-  CommandLineUI/Query/CommandLineQuery.hpp \
-  CommandLineUI/CommandLineDialog.hpp \
-  CommandLineUI/CommandLineParser.hpp \
-  CommandLineUI/CommandLineParser_validate.hpp \
-  CommandLineUI/CommandLineStatusIndicator.hpp \
-  CommandLineUI/CommandLineUIFactory.hpp \
-  CommandLineUI/CommandLineWindow.hpp \
-  CommandLineUI/TypeEnumContainer.cpp
-
+  UIElements/Dialog.hpp \
+  UIElements/MainWindow.hpp
+
+QTUISOURCE = \
+	allmocs.moc.cpp \
+  UIElements/Qt4/Pipe/AtomQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/AtomsQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/BooleanQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/BoxQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/DoubleQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/ElementsQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/EmptyQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/ElementQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/FileQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/IntQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/MoleculeQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/MoleculesQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/StringQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/VectorQtQueryPipe.cpp \
+  UIElements/Qt4/Pipe/VectorsQtQueryPipe.cpp \
+ 	UIElements/Qt4/Pipe/RandomNumberDistribution_ParametersQtQueryPipe.cpp \
+  UIElements/Qt4/Query/AtomQtQuery.cpp \
+  UIElements/Qt4/Query/AtomsQtQuery.cpp \
+  UIElements/Qt4/Query/BooleanQtQuery.cpp \
+  UIElements/Qt4/Query/BoxQtQuery.cpp \
+  UIElements/Qt4/Query/DoubleQtQuery.cpp \
+  UIElements/Qt4/Query/DoublesQtQuery.cpp \
+  UIElements/Qt4/Query/ElementQtQuery.cpp \
+  UIElements/Qt4/Query/ElementsQtQuery.cpp \
+  UIElements/Qt4/Query/EmptyQtQuery.cpp \
+  UIElements/Qt4/Query/FileQtQuery.cpp \
+  UIElements/Qt4/Query/IntQtQuery.cpp \
+  UIElements/Qt4/Query/IntsQtQuery.cpp \
+  UIElements/Qt4/Query/MoleculeQtQuery.cpp \
+  UIElements/Qt4/Query/MoleculesQtQuery.cpp \
+  UIElements/Qt4/Query/StringQtQuery.cpp \
+  UIElements/Qt4/Query/StringsQtQuery.cpp \
+  UIElements/Qt4/Query/VectorQtQuery.cpp \
+  UIElements/Qt4/Query/VectorsQtQuery.cpp \
+ 	UIElements/Qt4/Query/RandomNumberDistribution_ParametersQtQuery.cpp \
+	UIElements/Qt4/QtMainWindow.cpp \
+	UIElements/Qt4/QtDialog.cpp \
+	UIElements/Qt4/QtUIFactory.cpp \
+	UIElements/Menu/Qt4/QtMenuPipe.cpp \
+	UIElements/Views/Qt4/QtWorldView.cpp \
+	UIElements/Views/Qt4/GLMoleculeView.cpp \
+	UIElements/Views/Qt4/QtMoleculeView.cpp \
+	UIElements/Views/Qt4/QtStatusBar.cpp
+             
 QTUIMOC_HEADER = \
-	Qt4/QtDialog.hpp \
-	Qt4/QtMainWindow.hpp \
-  Qt4/Pipe/AtomQtQueryPipe.hpp \
-  Qt4/Pipe/AtomsQtQueryPipe.hpp \
-  Qt4/Pipe/BooleanQtQueryPipe.hpp \
-  Qt4/Pipe/BoxQtQueryPipe.hpp \
-  Qt4/Pipe/DoubleQtQueryPipe.hpp \
-  Qt4/Pipe/ElementsQtQueryPipe.hpp \
-  Qt4/Pipe/EmptyQtQueryPipe.hpp \
-  Qt4/Pipe/ElementQtQueryPipe.hpp \
-  Qt4/Pipe/FileQtQueryPipe.hpp \
-  Qt4/Pipe/IntQtQueryPipe.hpp \
-  Qt4/Pipe/MoleculeQtQueryPipe.hpp \
-  Qt4/Pipe/MoleculesQtQueryPipe.hpp \
-  Qt4/Pipe/StringQtQueryPipe.hpp \
-  Qt4/Pipe/VectorQtQueryPipe.hpp \
-  Qt4/Pipe/VectorsQtQueryPipe.hpp \
- 	Qt4/Pipe/RandomNumberDistribution_ParametersQtQueryPipe.hpp \
-	Menu/Qt4/QtMenuPipe.hpp \
-	Views/Qt4/QtWorldView.hpp \
-	Views/Qt4/GLMoleculeView.hpp \
-	Views/Qt4/QtMoleculeView.hpp \
-	Views/Qt4/QtStatusBar.hpp
+	UIElements/Qt4/QtDialog.hpp \
+	UIElements/Qt4/QtMainWindow.hpp \
+  UIElements/Qt4/Pipe/AtomQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/AtomsQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/BooleanQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/BoxQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/DoubleQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/ElementsQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/EmptyQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/ElementQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/FileQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/IntQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/MoleculeQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/MoleculesQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/StringQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/VectorQtQueryPipe.hpp \
+  UIElements/Qt4/Pipe/VectorsQtQueryPipe.hpp \
+ 	UIElements/Qt4/Pipe/RandomNumberDistribution_ParametersQtQueryPipe.hpp \
+	UIElements/Menu/Qt4/QtMenuPipe.hpp \
+	UIElements/Views/Qt4/QtWorldView.hpp \
+	UIElements/Views/Qt4/GLMoleculeView.hpp \
+	UIElements/Views/Qt4/QtMoleculeView.hpp \
+	UIElements/Views/Qt4/QtStatusBar.hpp
 				  
-QTUISOURCE = allmocs.moc.cpp \
-  Qt4/Pipe/AtomQtQueryPipe.cpp \
-  Qt4/Pipe/AtomsQtQueryPipe.cpp \
-  Qt4/Pipe/BooleanQtQueryPipe.cpp \
-  Qt4/Pipe/BoxQtQueryPipe.cpp \
-  Qt4/Pipe/DoubleQtQueryPipe.cpp \
-  Qt4/Pipe/ElementsQtQueryPipe.cpp \
-  Qt4/Pipe/EmptyQtQueryPipe.cpp \
-  Qt4/Pipe/ElementQtQueryPipe.cpp \
-  Qt4/Pipe/FileQtQueryPipe.cpp \
-  Qt4/Pipe/IntQtQueryPipe.cpp \
-  Qt4/Pipe/MoleculeQtQueryPipe.cpp \
-  Qt4/Pipe/MoleculesQtQueryPipe.cpp \
-  Qt4/Pipe/StringQtQueryPipe.cpp \
-  Qt4/Pipe/VectorQtQueryPipe.cpp \
-  Qt4/Pipe/VectorsQtQueryPipe.cpp \
- 	Qt4/Pipe/RandomNumberDistribution_ParametersQtQueryPipe.cpp \
-  Qt4/Query/AtomQtQuery.cpp \
-  Qt4/Query/AtomsQtQuery.cpp \
-  Qt4/Query/BooleanQtQuery.cpp \
-  Qt4/Query/BoxQtQuery.cpp \
-  Qt4/Query/DoubleQtQuery.cpp \
-  Qt4/Query/DoublesQtQuery.cpp \
-  Qt4/Query/ElementQtQuery.cpp \
-  Qt4/Query/ElementsQtQuery.cpp \
-  Qt4/Query/EmptyQtQuery.cpp \
-  Qt4/Query/FileQtQuery.cpp \
-  Qt4/Query/IntQtQuery.cpp \
-  Qt4/Query/IntsQtQuery.cpp \
-  Qt4/Query/MoleculeQtQuery.cpp \
-  Qt4/Query/MoleculesQtQuery.cpp \
-  Qt4/Query/StringQtQuery.cpp \
-  Qt4/Query/StringsQtQuery.cpp \
-  Qt4/Query/VectorQtQuery.cpp \
-  Qt4/Query/VectorsQtQuery.cpp \
- 	Qt4/Query/RandomNumberDistribution_ParametersQtQuery.cpp \
-	Qt4/QtMainWindow.cpp \
-	Qt4/QtDialog.cpp \
-	Qt4/QtUIFactory.cpp \
-	Menu/Qt4/QtMenuPipe.cpp \
-	Views/Qt4/QtWorldView.cpp \
-	Views/Qt4/GLMoleculeView.cpp \
-	Views/Qt4/QtMoleculeView.cpp \
-	Views/Qt4/QtStatusBar.cpp
-             
 QTUIHEADER = \
   ${QTUIMOC_HEADER} \
-	Menu/Qt4/QtMenu.hpp \
-	Qt4/Query/QtQuery.hpp \
-  Qt4/QtUIFactory.hpp \
-  Qt4/Pipe/QtQueryListPipe.hpp
-
-QTUI_DEFS =
-
-GUI_LIBS = 
-
-
-lib_LTLIBRARIES = libMolecuilderUI.la \
+	UIElements/Menu/Qt4/QtMenu.hpp \
+	UIElements/Qt4/Query/QtQuery.hpp \
+  UIElements/Qt4/QtUIFactory.hpp \
+  UIElements/Qt4/Pipe/QtQueryListPipe.hpp
+
+lib_LTLIBRARIES += libMolecuilderUI.la \
 	libMolecuilderQtUI.la
 libMolecuilderUI_la_includedir = $(includedir)/MoleCuilder/UIElements/
-libMolecuilderQtUI_la_includedir = $(includedir)/MoleCuilder/UIElements/ 
+libMolecuilderQtUI_la_includedir = $(includedir)/MoleCuilder/UIElements/
+libMolecuilderUI_la_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} ${QT_CXXFLAGS}
+libMolecuilderQtUI_la_CPPFLAGS = ${BOOST_CPPFLAGS} ${CodePatterns_CFLAGS} ${QT_CXXFLAGS}
+# NOTE: ActionPrototypes BEFORE Actions!
+# this is to ensure that static Action prototypes are instantiated after
+# ActionRegistry is present.
 libMolecuilderUI_la_LIBADD = \
-	../Actions/libMolecuilderActions.la
+	libMolecuilderActionPrototypes.la \
+	libMolecuilderActions.la \
+	libMolecuilderGraph.la \
+	libMolecuilder.la \
+	libMolecuilderParser.la \
+	libMolecuilderShapes.la \
+	$(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
+	libMolecuilderRandomNumbers.la \
+	${CodePatterns_LIBS} \
+	$(BOOST_LIB)
 libMolecuilderQtUI_la_LIBADD = \
-	../Actions/libMolecuilderActions.la \
-	${QT_LIB_GUI} \
-	-lQtOpenGL \
-	${GLU_LIBS} \
-	${QT_LDADD}
+       ${QT_LIB_GUI} \
+       -lQtOpenGL \
+       ${GLU_LIBS} \
+       ${QT_LDADD}
+
 
 nobase_libMolecuilderUI_la_include_HEADERS = ${UIHEADER}
@@ -267,5 +270,5 @@
 ## that all version information is kept in one place.
 libMolecuilderUI_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
-libMolecuilderQtUI_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
+#libMolecuilderQtUI_la_LDFLAGS = -version-info $(MOLECUILDER_SO_VERSION)
 
 ## The generated configuration header is installed in its own subdirectory of
@@ -292,10 +295,4 @@
 #pkgconfig_DATA = $(top_builddir)/MoleCuilder.pc
 
-unity.cpp:
-	echo "" >  unity.cpp; \
-	list='$(UISOURCE)'; for file in $$list; do \
-	  echo "#include \"$(srcdir)/$$file\"" >> unity.cpp; \
-	done;
-	
 #Rules needed for Qt4
 # UI-Files are scattered throughout several subdirectories
@@ -313,3 +310,3 @@
 
 	
-MOSTLYCLEANFILES = unity.cpp allmocs.moc.cpp
+MOSTLYCLEANFILES += allmocs.moc.cpp
Index: src/UIElements/Menu/unittests/Makefile.am
===================================================================
--- src/UIElements/Menu/unittests/Makefile.am	(revision bf4b9ff97113f58a6031de8f9e67813336ae63f1)
+++ src/UIElements/Menu/unittests/Makefile.am	(revision 4555736a848291ba2a2394892fd02081032c5861)
@@ -2,43 +2,46 @@
 # Also indentation by a single tab
 
-INCLUDES = -I$(top_srcdir)/src -I$(top_srcdir)/LinearAlgebra/src -I$(top_srcdir)/src/UIElements
+UIELEMENTSMENUTESTSSOURCES = \
+  ../UIElements/Menu/unittests/MenuDescriptionUnitTest.cpp \
+  ../UIElements/Menu/unittests/MenuDescription_ActionRegistry_ConsistencyUnitTest.cpp
 
-AM_LDFLAGS = ${CodePatterns_LIBS} $(CPPUNIT_LIBS) -ldl
-AM_CPPFLAGS = ${BOOST_CPPFLAGS} $(CPPUNIT_CFLAGS) ${CodePatterns_CFLAGS}
+UIELEMENTSMENUTESTSHEADERS = \
+  ../UIElements/Menu/unittests/MenuDescriptionUnitTest.hpp \
+  ../UIElements/Menu/unittests/MenuDescription_ActionRegistry_ConsistencyUnitTest.hpp
 
-TESTS = \
+UIELEMENTSMENUTESTS = \
   MenuDescriptionUnitTest \
   MenuDescription_ActionRegistry_ConsistencyUnitTest
 
+TESTS += $(UIELEMENTSMENUTESTS)
+check_PROGRAMS += $(UIELEMENTSMENUTESTS) 
+noinst_PROGRAMS += $(UIELEMENTSMENUTESTS)
 
-check_PROGRAMS = $(TESTS) 
-noinst_PROGRAMS = $(TESTS)
-
-BOOST_LIB = $(BOOST_LDFLAGS) $(BOOST_MPL_LIB) $(BOOST_PROGRAM_OPTIONS_LIB) $(BOOST_FILESYSTEM_LIB) $(BOOST_SYSTEM_LIB) $(BOOST_THREAD_LIB)
 MENULIBS = \
-	$(BOOST_LIB)
+  $(BOOST_LIB)
 
 
 MenuDescriptionUnitTest_SOURCES =  $(top_srcdir)/src/unittests/UnitTestMain.cpp \
-	MenuDescriptionUnitTest.cpp \
-	MenuDescriptionUnitTest.hpp \
-	../MenuDescription.cpp \
-	../MenuDescription.hpp
+  ../UIElements/Menu/unittests/MenuDescriptionUnitTest.cpp \
+  ../UIElements/Menu/unittests/MenuDescriptionUnitTest.hpp \
+  ../UIElements/Menu/MenuDescription.cpp \
+  ../UIElements/Menu/MenuDescription.hpp
+MenuDescriptionUnitTest_CXXFLAGS = -I$(top_srcdir)/src/UIElements
 MenuDescriptionUnitTest_LDADD = $(MENULIBS)
 
 MenuDescription_ActionRegistry_ConsistencyUnitTest_SOURCES =  $(top_srcdir)/src/unittests/UnitTestMain.cpp \
-	MenuDescription_ActionRegistry_ConsistencyUnitTest.cpp \
-	MenuDescription_ActionRegistry_ConsistencyUnitTest.hpp
+  ../UIElements/Menu/unittests/MenuDescription_ActionRegistry_ConsistencyUnitTest.cpp \
+  ../UIElements/Menu/unittests/MenuDescription_ActionRegistry_ConsistencyUnitTest.hpp
 MenuDescription_ActionRegistry_ConsistencyUnitTest_LDADD = \
-  ../../libMolecuilderUI.la \
-  ../../../Actions/libMolecuilderActions.la \
-	../../../Graph/libMolecuilderGraph.la \
-	../../../libMolecuilder.la \
-	../../../Parser/libMolecuilderParser.la \
-	../../../Shapes/libMolecuilderShapes.la \
-	$(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
-	../../../RandomNumbers/libMolecuilderRandomNumbers.la \
-	${CodePatterns_LIBS} \
-	$(BOOST_LIB)
+  ../libMolecuilderUI.la \
+  ../libMolecuilderActions.la \
+  ../libMolecuilderGraph.la \
+  ../libMolecuilder.la \
+  ../libMolecuilderParser.la \
+  ../libMolecuilderShapes.la \
+  $(top_builddir)/LinearAlgebra/src/LinearAlgebra/libLinearAlgebra.la \
+  ../libMolecuilderRandomNumbers.la \
+  ${CodePatterns_LIBS} \
+  $(BOOST_LIB)
 
 
