Index: src/sas/qtgui/GuiManager.py
===================================================================
--- src/sas/qtgui/GuiManager.py	(revision 363fbfa07207fe7ae5f577b063028a6ad59c1435)
+++ src/sas/qtgui/GuiManager.py	(revision a8ec5b10d64178372c44951ceeddefc2d6c90504)
@@ -26,4 +26,5 @@
 from sas.qtgui.DensityPanel import DensityPanel
 from sas.qtgui.KiessigPanel import KiessigPanel
+from sas.qtgui.SlitSizeCalculator import SlitSizeCalculator
 
 # Perspectives
@@ -139,5 +140,6 @@
         self.DVCalculator = DensityPanel(self)
         #self.KIESSIGCalculator = DensityPanel(self)#KiessigPanel(self)
-        self.KIESSIGCalculator =  KiessigPanel(self)
+        self.KIESSIGCalculator = KiessigPanel(self)
+        self.SlitSizeCalculator = SlitSizeCalculator(self._parent, self, manager=self._data_manager)
     def statusBarSetup(self):
         """
@@ -539,6 +541,5 @@
         """
         """
-        print("actionSlit_Size_Calculator TRIGGERED")
-        pass
+        self.SlitSizeCalculator.show()
 
     def actionSAS_Resolution_Estimator(self):
Index: src/sas/qtgui/SlitSizeCalculator.py
===================================================================
--- src/sas/qtgui/SlitSizeCalculator.py	(revision d1fb22ee6434776caa4879fde89d210523f84d64)
+++ src/sas/qtgui/SlitSizeCalculator.py	(revision a8ec5b10d64178372c44951ceeddefc2d6c90504)
@@ -2,11 +2,13 @@
 from PyQt4 import QtCore
 from UI.SlitSizeCalculator import Ui_SlitSizeCalculator
+from twisted.internet import threads
+import logging
 
 # sas-global
 from sas.sascalc.calculator.slit_length_calculator import SlitlengthCalculator
-
+from DataExplorer import DataExplorerWindow
 
 class SlitSizeCalculator(QtGui.QDialog, Ui_SlitSizeCalculator):
-    def __init__(self, parent=None):
+    def __init__(self, parent=None, guimanager=None, manager=None):
         super(SlitSizeCalculator, self).__init__()
         self.setupUi(self)
@@ -14,4 +16,6 @@
         self.setWindowTitle("Slit Size Calculator")
         self._parent = parent
+        self._guimanager = guimanager
+        self._manager = manager
 
         self.thickness = SlitlengthCalculator()
@@ -34,5 +38,5 @@
         try:
             location = self._parent.HELP_DIRECTORY_LOCATION + \
-                "/user/sasgui/perspectives/calculator/slit_lenght_calculator.html"
+                "/user/sasgui/perspectives/calculator/slit_calculator_help.html"
 
             self._parent._helpView.load(QtCore.QUrl(location))
@@ -50,4 +54,6 @@
             return
         self.loadFromURL(path_str)
+        #Path_str is a list - it needs to be changed, so that only one file can be uploaded
+        self.deltaq_in.setText(path_str[0])
 
     def loadFromURL(self, url):
@@ -55,6 +61,8 @@
         Threaded file load
         """
-        load_thread = threads.deferToThread(self.readData, url)
-        load_thread.addCallback(self.loadComplete)
+        data_explorer = DataExplorerWindow(parent=self._parent, guimanager=self._guimanager)
+        load_thread = threads.deferToThread(data_explorer.readData, url)
+        load_thread.addCallback(data_explorer.loadComplete)
+        #On complete loading
 
     def chooseFiles(self):
@@ -66,5 +74,6 @@
         # But only with Qt built-in dialog (non-platform native)
         paths = QtGui.QFileDialog.getOpenFileNames(self, "Choose a file", "",
-                "Scattering data (*.DAT, *.dat)", None, QtGui.QFileDialog.DontUseNativeDialog)
+                "SAXSess Data 1D (*.txt *.TXT *.dat *.DAT)", None,
+                QtGui.QFileDialog.DontUseNativeDialog)
         if paths is None:
             return
@@ -83,2 +92,44 @@
         """
         self.close()
+
+    def complete_loading(self, data=None):
+        """
+            Complete the loading and compute the slit size
+        """
+        #TODO: Provided we have an access to data then it should be fairly easy
+        index = self.treeView.selectedIndexes()[0]
+        model_item = self.model.itemFromIndex(self.data_proxy.mapToSource(index))
+        data = GuiUtils.dataFromItem(model_item)
+
+        if data is None or isinstance(data, Data2D):
+            #I guess this doesn't apply
+            if self.parent.parent is None:
+                return
+            msg = "Slit Length cannot be computed for 2D Data"
+            logging.info(msg)
+            return
+        self.data_name_tcl.SetValue(str(data.filename))
+        #compute the slit size
+        try:
+            x = data.x
+            y = data.y
+            if x == [] or  x is None or y == [] or y is None:
+                msg = "The current data is empty please check x and y"
+                raise ValueError, msg
+            slit_length_calculator = SlitlengthCalculator()
+            slit_length_calculator.set_data(x=x, y=y)
+            slit_length = slit_length_calculator.calculate_slit_length()
+        except:
+            if self.parent.parent is None:
+                return
+            msg = "Slit Size Calculator: %s" % (sys.exc_value)
+            logging.info(msg)
+            return
+        self.slit_size_tcl.SetValue(str(slit_length))
+        #Display unit
+        self.slit_size_unit_tcl.SetValue('[Unknown]')
+        if self.parent.parent is None:
+            return
+        msg = "Load Complete"
+        logging.info(msg)
+
