Index: src/sas/qtgui/DataExplorer.py
===================================================================
--- src/sas/qtgui/DataExplorer.py	(revision 416fa8fe6ed121e335fb8f0e75cdd9a8ab89b80d)
+++ src/sas/qtgui/DataExplorer.py	(revision cad617b718c0c678a25f1f6b63df93528a669bbe)
@@ -801,4 +801,5 @@
     def showEditDataMask(self):
         """
+        Mask Editor for 2D plots
         """
         index = self.treeView.selectedIndexes()[0]
@@ -807,5 +808,5 @@
 
         mask_editor = MaskEditor(self, data)
-
+        # Modal dialog here.
         mask_editor.exec_()
 
Index: src/sas/qtgui/Plotter2D.py
===================================================================
--- src/sas/qtgui/Plotter2D.py	(revision 416fa8fe6ed121e335fb8f0e75cdd9a8ab89b80d)
+++ src/sas/qtgui/Plotter2D.py	(revision cad617b718c0c678a25f1f6b63df93528a669bbe)
@@ -47,7 +47,7 @@
             self.scale = 'linear'
             if not self.zmin is None:
-                zmin_2D_temp = numpy.pow(10, self.zmin)
+                zmin_2D_temp = numpy.power(10, self.zmin)
             if not self.zmax is None:
-                zmax_2D_temp = numpy.pow(10, self.zmax)
+                zmax_2D_temp = numpy.power(10, self.zmax)
         else:
             self.scale = 'log_{10}'
@@ -194,3 +194,3 @@
 
         QtGui.QDialog.__init__(self)
-        Plotter2DWidget.__init__(self, manager=parent, quickplot=quickplot, dimension=2)
+        Plotter2DWidget.__init__(self, manager=parent, quickplot=quickplot, dimension=dimension)
Index: src/sas/qtgui/UI/MaskEditorUI.ui
===================================================================
--- src/sas/qtgui/UI/MaskEditorUI.ui	(revision 416fa8fe6ed121e335fb8f0e75cdd9a8ab89b80d)
+++ src/sas/qtgui/UI/MaskEditorUI.ui	(revision cad617b718c0c678a25f1f6b63df93528a669bbe)
@@ -26,5 +26,5 @@
      <layout class="QVBoxLayout" name="verticalLayout">
       <item>
-       <widget class="QRadioButton" name="radioButton">
+       <widget class="QRadioButton" name="rbWings">
         <property name="text">
          <string>Double Wings</string>
@@ -33,5 +33,5 @@
       </item>
       <item>
-       <widget class="QRadioButton" name="radioButton_3">
+       <widget class="QRadioButton" name="rbCircularDisk">
         <property name="text">
          <string>Circular Disk</string>
@@ -40,5 +40,5 @@
       </item>
       <item>
-       <widget class="QRadioButton" name="radioButton_2">
+       <widget class="QRadioButton" name="rbRectangularDisk">
         <property name="text">
          <string>Rectangular Disk</string>
@@ -47,5 +47,5 @@
       </item>
       <item>
-       <widget class="QRadioButton" name="radioButton_4">
+       <widget class="QRadioButton" name="rbDoubleWingWindow">
         <property name="text">
          <string>Double Wing Window</string>
@@ -54,5 +54,5 @@
       </item>
       <item>
-       <widget class="QRadioButton" name="radioButton_5">
+       <widget class="QRadioButton" name="rbCircularWindow">
         <property name="text">
          <string>Circular Window</string>
@@ -61,5 +61,5 @@
       </item>
       <item>
-       <widget class="QRadioButton" name="radioButton_6">
+       <widget class="QRadioButton" name="rbRectangularWindow">
         <property name="text">
          <string>Rectangular Window</string>
@@ -97,5 +97,5 @@
    </item>
    <item row="2" column="0">
-    <widget class="QPushButton" name="pushButton">
+    <widget class="QPushButton" name="btnAdd">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -110,5 +110,5 @@
    </item>
    <item row="3" column="0">
-    <widget class="QPushButton" name="pushButton_2">
+    <widget class="QPushButton" name="btnReset">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
@@ -123,5 +123,5 @@
    </item>
    <item row="4" column="0">
-    <widget class="QPushButton" name="pushButton_3">
+    <widget class="QPushButton" name="btnClear">
      <property name="sizePolicy">
       <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
Index: src/sas/qtgui/UnitTesting/DataExplorerTest.py
===================================================================
--- src/sas/qtgui/UnitTesting/DataExplorerTest.py	(revision 6d05e1d115a38b7805a83cb480014af70b58ef75)
+++ src/sas/qtgui/UnitTesting/DataExplorerTest.py	(revision cad617b718c0c678a25f1f6b63df93528a669bbe)
@@ -7,4 +7,5 @@
 from mock import MagicMock
 from mock import patch
+from mpl_toolkits.mplot3d import Axes3D
 
 # set up import paths
@@ -21,4 +22,5 @@
 from UnitTesting.TestUtils import QtSignalSpy
 from sas.qtgui.Plotter import Plotter
+from sas.qtgui.Plotter2D import Plotter2D
 import sas.qtgui.PlotHelper as PlotHelper
 
@@ -758,8 +760,46 @@
         """
         Quick data plot generation.
+        """
+        # get Data1D
+        p_file=["cyl_400_20.txt"]
+        # Read in the file
+        output, message = self.form.readData(p_file)
+        self.form.loadComplete((output, message))
+
+        # select the data
+        self.form.treeView.selectAll()
+
+        Plotter.show = MagicMock() # for masking the display
+
+        self.form.quickDataPlot()
+        self.assertTrue(Plotter.show.called)
+
+    def testQuickData3DPlot(self):
+        """
+        Slow(er) 3D data plot generation.
+        """
+        # get Data1D
+        p_file=["Dec07031.ASC"]
+        # Read in the file
+        output, message = self.form.readData(p_file)
+        self.form.loadComplete((output, message))
+
+        # select the data
+        self.form.treeView.selectAll()
+
+        Plotter2D.show = MagicMock() # for masking the display
+
+        self.form.quickData3DPlot()
+
+        self.assertTrue(Plotter2D.show.called)
+
+    def testShowEditMask(self):
+        """
+        Edit mask on a 2D plot.
 
         TODO: add content once plotting finalized
         """
         pass
+
 
 if __name__ == "__main__":
Index: src/sas/sasgui/plottools/PlotPanel.py
===================================================================
--- src/sas/sasgui/plottools/PlotPanel.py	(revision f74bd6ed98470514c56b3c8dddccb2a26d310da5)
+++ src/sas/sasgui/plottools/PlotPanel.py	(revision cad617b718c0c678a25f1f6b63df93528a669bbe)
@@ -10,5 +10,5 @@
 matplotlib.interactive(False)
 #Use the WxAgg back end. The Wx one takes too long to render
-matplotlib.use('WXAgg')
+#matplotlib.use('WXAgg')
 from matplotlib.backends.backend_wxagg import FigureCanvasWxAgg
 from matplotlib.figure import Figure
Index: src/sas/sasgui/plottools/config.py
===================================================================
--- src/sas/sasgui/plottools/config.py	(revision 6d05e1d115a38b7805a83cb480014af70b58ef75)
+++ src/sas/sasgui/plottools/config.py	(revision cad617b718c0c678a25f1f6b63df93528a669bbe)
@@ -31,5 +31,6 @@
 
 plot_version = "0.98"
-plot_backend = "WXAgg"
+#plot_backend = "WXAgg"
+plot_backend = "Qt4Agg"
 
 # Sort out matplotlib version
Index: src/sas/sasgui/plottools/plottables.py
===================================================================
--- src/sas/sasgui/plottools/plottables.py	(revision 821c33061f6289c05224e2e044b69efcfd2755a8)
+++ src/sas/sasgui/plottools/plottables.py	(revision cad617b718c0c678a25f1f6b63df93528a669bbe)
@@ -676,9 +676,9 @@
         # Sanity check
         # Do the transofrmation only when x and y are empty
-        has_err_x = not (dx == None or len(dx) == 0)
-        has_err_y = not (dy == None or len(dy) == 0)
-
-        if(x != None) and (y != None):
-            if not dx == None and not len(dx) == 0 and not len(x) == len(dx):
+        has_err_x = not (dx is None or len(dx) == 0)
+        has_err_y = not (dy is None or len(dy) == 0)
+
+        if(x is not None) and (y is not None):
+            if not dx is None and not len(dx) == 0 and not len(x) == len(dx):
                 msg = "Plottable.View: Given x and dx are not"
                 msg += " of the same length"
@@ -690,5 +690,5 @@
                 raise ValueError, msg
 
-            if not dy == None and not len(dy) == 0 and not len(y) == len(dy):
+            if not dy is None and not len(dy) == 0 and not len(y) == len(dy):
                 msg = "Plottable.View: Given y and dy are not of the same "
                 msg += "length: len(y)=%s, len(dy)=%s" % (len(y), len(dy))
