Index: src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision e1e3e09a03e38fca76bc8ef51c8bfcc5d6441d3c)
+++ src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision 98b13f724cd11fc1ebdf8d5b128ac77e665d8380)
@@ -197,9 +197,6 @@
         self.chkMagnetism.setEnabled(True)
 
-        # Weighting and smearing controls
+        # Weighting controls
         if self.is2D:
-            #self.slit_smearer.Disable()
-            #self.pinhole_smearer.Enable(True)
-            #self.default_mask = copy.deepcopy(self.data.mask)
             if self.logic.data.err_data is None or\
                     numpy.all(err == 1 for err in self.logic.data.err_data) or \
@@ -211,6 +208,4 @@
                 self.rbWeighting2.setChecked(True)
         else:
-            #self.slit_smearer.Enable(True)
-            #self.pinhole_smearer.Enable(True)
             if self.logic.data.dy is None or\
                     numpy.all(self.logic.data.dy == 1) or\
@@ -305,5 +300,4 @@
         self.cbCategory.currentIndexChanged.connect(self.onSelectCategory)
         self.cbModel.currentIndexChanged.connect(self.onSelectModel)
-        #self.cbSmearing.currentIndexChanged.connect(self.onSelectSmearing)
         # Checkboxes
         self.chk2DView.toggled.connect(self.toggle2D)
@@ -320,6 +314,4 @@
         self.txtMinRange.editingFinished.connect(self.onMinRange)
         self.txtMaxRange.editingFinished.connect(self.onMaxRange)
-        #self.txtSmearUp.editingFinished.connect(self.onSmearUp)
-        #self.txtSmearDown.editingFinished.connect(self.onSmearDown)
         # Button groups
         self.weightingGroup.buttonClicked.connect(self.onWeightingChoice)
@@ -399,22 +391,4 @@
         # Populate the models combobox
         self.cbModel.addItems(sorted([model for (model, _) in model_list]))
-
-    def onSelectSmearing(self):
-        """
-        Select Smearing type from list
-        """
-        pass
-
-    def onSmearUp(self):
-        """
-        Update state based on entered smear value
-        """
-        pass
-
-    def onSmearDown(self):
-        """
-        Update state based on entered smear value
-        """
-        pass
 
     def onWeightingChoice(self, button):
@@ -476,4 +450,7 @@
         # Potential weights added
         self.addWeightingToData(data)
+
+        # Potential smearing added
+        smearing, accuracy, smearing_min, smearing_max = self.smearing_widget.state()
 
         # These should be updating somehow?
Index: src/sas/qtgui/Perspectives/Fitting/SmearingWidget.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/SmearingWidget.py	(revision e1e3e09a03e38fca76bc8ef51c8bfcc5d6441d3c)
+++ src/sas/qtgui/Perspectives/Fitting/SmearingWidget.py	(revision 98b13f724cd11fc1ebdf8d5b128ac77e665d8380)
@@ -12,4 +12,8 @@
 
 class DataWidgetMapper(QtGui.QDataWidgetMapper):
+    """
+    Custom version of the standard QDataWidgetMapper allowing for proper
+    response to index change in comboboxes
+    """
     def addMapping(self, widget, section, propertyName=None):
         if propertyName is None:
@@ -36,9 +40,19 @@
 
         self.setupUi(self)
+
+        # Have we loaded data yet? If so, what kind
+        self.is_data = None
+        # Local model for holding data
+        self.model = None
+        # Mapper for model update
+        self.mapper = None
+
+        # Let only floats in the line edits
+        self.txtSmearDown.setValidator(QtGui.QDoubleValidator())
+        self.txtSmearUp.setValidator(QtGui.QDoubleValidator())
+
+        # Attach slots
         self.cbSmearing.currentIndexChanged.connect(self.onIndexChange)
         self.cbSmearing.setCurrentIndex(0)
-        self.is_data = None
-        self.model = None
-        self.mapper = None
 
         self.initModel()
@@ -52,8 +66,6 @@
         for model_item in xrange(len(MODEL)):
             self.model.setItem(model_item, QtGui.QStandardItem())
-
+        # Attach slot
         self.model.dataChanged.connect(self.onModelChange)
-
-        ##self.modelReset()
 
     def initMapper(self):
@@ -61,5 +73,4 @@
         Initialize model item <-> UI element mapping
         """
-        #self.mapper = QtGui.QDataWidgetMapper(self)
         self.mapper = DataWidgetMapper(self)
 
@@ -107,6 +118,8 @@
     def onModelChange(self, top, bottom):
         """
+        Respond to model change by updating
         """
-        print "MODEL CHANGED: ", top, bottom
+        print "MODEL CHANGED for property: %s. The value is now: %s" % \
+            (MODEL[top.row()], str(self.model.item(top.row()).text()))
         pass
 
@@ -150,3 +163,9 @@
         Returns current state of controls
         """
-        
+        # or model-held values
+        smearing = str(self.model.item(MODEL.index('SMEARING')).text())
+        accuracy = str(self.model.item(MODEL.index('ACCURACY')).text())
+        d_down = float(self.model.item(MODEL.index('PINHOLE_MIN')).text())
+        d_up = float(self.model.item(MODEL.index('PINHOLE_MAX')).text())
+
+        return (smearing, accuracy, d_down, d_up)
