Index: src/sas/qtgui/Perspectives/Fitting/FittingWidget.py
===================================================================
--- src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision 672b8abd2842038913308d122b370e786e37660b)
+++ src/sas/qtgui/Perspectives/Fitting/FittingWidget.py	(revision 1bc27f17eb5c791b5a6b67eab47f42f7ad6e5377)
@@ -1,6 +1,4 @@
-import sys
 import json
 import os
-import numpy as np
 from collections import defaultdict
 from itertools import izip
@@ -9,4 +7,5 @@
 import traceback
 from twisted.internet import threads
+import numpy as np
 
 from PyQt4 import QtGui
@@ -28,10 +27,10 @@
 from sas.sasgui.perspectives.fitting.utils import get_weight
 
-from UI.FittingWidgetUI import Ui_FittingWidgetUI
+from sas.qtgui.Perspectives.Fitting.UI.FittingWidgetUI import Ui_FittingWidgetUI
 from sas.qtgui.Perspectives.Fitting.FittingLogic import FittingLogic
 from sas.qtgui.Perspectives.Fitting import FittingUtilities
-from SmearingWidget import SmearingWidget
-from OptionsWidget import OptionsWidget
-from FitPage import FitPage
+from sas.qtgui.Perspectives.Fitting.SmearingWidget import SmearingWidget
+from sas.qtgui.Perspectives.Fitting.OptionsWidget import OptionsWidget
+from sas.qtgui.Perspectives.Fitting.FitPage import FitPage
 
 TAB_MAGNETISM = 4
@@ -45,5 +44,5 @@
     Main widget for selecting form and structure factor models
     """
-    def __init__(self, parent=None, data=None, id=1):
+    def __init__(self, parent=None, data=None, tab_id=1):
 
         super(FittingWidget, self).__init__()
@@ -81,5 +80,5 @@
 
         # Which tab is this widget displayed in?
-        self.tab_id = id
+        self.tab_id = tab_id
 
         # Which shell is being currently displayed?
@@ -98,5 +97,5 @@
         layout = QtGui.QGridLayout()
         self.options_widget = OptionsWidget(self, self.logic)
-        layout.addWidget(self.options_widget) 
+        layout.addWidget(self.options_widget)
         self.tabOptions.setLayout(layout)
 
@@ -104,9 +103,9 @@
         layout = QtGui.QGridLayout()
         self.smearing_widget = SmearingWidget(self)
-        layout.addWidget(self.smearing_widget) 
+        layout.addWidget(self.smearing_widget)
         self.tabResolution.setLayout(layout)
 
         # Define bold font for use in various controls
-        self.boldFont=QtGui.QFont()
+        self.boldFont = QtGui.QFont()
         self.boldFont.setBold(True)
 
@@ -315,5 +314,4 @@
         """
         msg = 'Model description:\n'
-        info = "Info"
         if self.kernel_module is not None:
             if str(self.kernel_module.description).rstrip().lstrip() == '':
@@ -358,5 +356,6 @@
             self.createDefaultDataset()
 
-        state = self.currentState()
+        # TODO: update state stack
+        #state = self.currentState()
 
     def onSelectStructureFactor(self):
@@ -403,5 +402,4 @@
         # Retrieve the list of models
         model_list = self.master_category_dict[category]
-        models = []
         # Populate the models combobox
         self.cbModel.addItems(sorted([model for (model, _) in model_list]))
@@ -538,5 +536,5 @@
         if res.fitness is None or \
             not np.isfinite(res.fitness) or \
-            np.any(res.pvec == None) or \
+            np.any(res.pvec is None) or \
             not np.all(np.isfinite(res.pvec)):
             msg = "Fitting did not converge!!!"
@@ -638,4 +636,6 @@
         # Regardless of previous state, this should now be `plot show` functionality only
         self.cmdPlot.setText("Show Plot")
+        if not self.data_is_loaded:
+            self.recalculatePlotData()
         self.showPlot()
 
@@ -690,9 +690,9 @@
         elif self.log_points:
             qmin = -10.0 if self.q_range_min < 1.e-10 else np.log10(self.q_range_min)
-            qmax =  10.0 if self.q_range_max > 1.e10 else np.log10(self.q_range_max)
+            qmax = 10.0 if self.q_range_max > 1.e10 else np.log10(self.q_range_max)
             interval = np.logspace(start=qmin, stop=qmax, num=self.npts, endpoint=True, base=10.0)
         else:
             interval = np.linspace(start=self.q_range_min, stop=self.q_range_max,
-                    num=self.npts, endpoint=True)
+                                   num=self.npts, endpoint=True)
         self.logic.createDefault1dData(interval, self.tab_id)
 
@@ -754,5 +754,5 @@
         """
         Adds weighting contribution to fitting data
-        #"""
+        """
         # Send original data for weighting
         weight = get_weight(data=data, is2d=self.is2D, flag=self.weighting)
@@ -856,4 +856,5 @@
         self.kernel_module.params[parameter_name] = value
 
+        # TODO: update min/max based on property_name
         # min/max to be changed in self.kernel_module.details[parameter_name] = ['Ang', 0.0, inf]
         # magnetic params in self.kernel_module.details['M0:parameter_name'] = value
@@ -882,5 +883,5 @@
         self._model_model.blockSignals(True)
         # Convert to proper indices and set requested enablement
-        items = [self._model_model.item(row, 0).setCheckState(status) for row in rows]
+        _ = [self._model_model.item(row, 0).setCheckState(status) for row in rows]
         self._model_model.blockSignals(False)
 
@@ -966,17 +967,17 @@
         # Awful API to a backend method.
         method = self.methodCalculateForData()(data=self.data,
-                              model=self.kernel_module,
-                              page_id=0,
-                              qmin=self.q_range_min,
-                              qmax=self.q_range_max,
-                              smearer=None,
-                              state=None,
-                              weight=None,
-                              fid=None,
-                              toggle_mode_on=False,
-                              completefn=None,
-                              update_chisqr=True,
-                              exception_handler=self.calcException,
-                              source=None)
+                                               model=self.kernel_module,
+                                               page_id=0,
+                                               qmin=self.q_range_min,
+                                               qmax=self.q_range_max,
+                                               smearer=None,
+                                               state=None,
+                                               weight=None,
+                                               fid=None,
+                                               toggle_mode_on=False,
+                                               completefn=None,
+                                               update_chisqr=True,
+                                               exception_handler=self.calcException,
+                                               source=None)
 
         calc_thread = threads.deferToThread(method.compute)
