Index: invariantview/src/sans/perspectives/invariant/invariant.py
===================================================================
--- invariantview/src/sans/perspectives/invariant/invariant.py	(revision 64b4f0fdbd4531ad8ad530e3bc439368b349ba8e)
+++ invariantview/src/sans/perspectives/invariant/invariant.py	(revision 9cec2dd96eedb99c5fc5d6c42f51c3853bf50c1a)
@@ -20,4 +20,5 @@
 from sans.guiframe.dataFitting import Data1D
 from sans.guiframe.events import NewPlotEvent
+from sans.guiframe.events import StatusEvent
 from sans.guiframe.gui_style import GUIFRAME_ID
 from .invariant_state import Reader as reader
@@ -150,4 +151,5 @@
         receive a list of data and compute invariant
         """
+        msg = ""
         data = None
         if data_list is None:
@@ -157,13 +159,41 @@
                 data = data_list[0]
             else:
-                msg = "invariant panel does not allow multiple data!\n"
+                data_1d_list = []
+                data_2d_list = []
+                error_msg = ""
+                # separate data into data1d and data2d list
+                for data in data_list:
+                    if data is not None:
+                        if issubclass(data.__class__, Data1D):
+                            data_1d_list.append(data)
+                        else:
+                            error_msg += " %s  type %s \n" % (str(data.name),
+                                             str(data.__class__.__name__))
+                            data_2d_list.append(data)
+                if len(data_2d_list) > 0:
+                    msg = "Invariant does not support the following data types:\n"
+                    msg += error_msg
+                if len(data_1d_list) == 0:
+                    wx.PostEvent(self.parent, 
+                    StatusEvent(status=msg, info='error'))
+                    return
+                msg += "Invariant panel does not allow multiple data!\n"
                 msg += "Please select one.\n"
                 from invariant_widgets import DataDialog
-                dlg = DataDialog(data_list=data_list, text=msg)
+                dlg = DataDialog(data_list=data_1d_list, text=msg)
                 if dlg.ShowModal() == wx.ID_OK:
                     data = dlg.get_data()
             if data is None:
+                msg += "invariant receives no data. \n"
+                wx.PostEvent(self.parent, 
+                     StatusEvent(status=msg, info='error'))
                 return
-            if issubclass(data.__class__, Data1D):
+            if not issubclass(data.__class__, Data1D):
+                 msg += "invariant cannot be computed for data of "
+                 msg += "type %s\n" % (data.__class__.__name__)
+                 wx.PostEvent(self.parent, 
+                     StatusEvent(status=msg, info='error'))
+                 return
+            else:
                 wx.PostEvent(self.parent, NewPlotEvent(plot=data,
                                            title=data.title))
@@ -171,5 +201,5 @@
                     self.compute_helper(data)
                 except:
-                    msg = "Prview Set_data: " + str(sys.exc_value)
+                    msg = "Invariant Set_data: " + str(sys.exc_value)
                     wx.PostEvent(self.parent, StatusEvent(status=msg,
                                                                 info="error"))
Index: invariantview/src/sans/perspectives/invariant/invariant_details.py
===================================================================
--- invariantview/src/sans/perspectives/invariant/invariant_details.py	(revision f6518f817fa58210f637b43907dd82c6040fb98b)
+++ invariantview/src/sans/perspectives/invariant/invariant_details.py	(revision 9cec2dd96eedb99c5fc5d6c42f51c3853bf50c1a)
@@ -28,4 +28,8 @@
     FONT_VARIANT = 1
     
+ERROR_COLOR = wx.Colour(255,  0, 0, 128)
+EXTRAPOLATION_COLOR = wx.Colour(169,  169, 168, 128)
+INVARIANT_COLOR =  wx.Colour(67,  208,  128, 128)    
+  
   
 class InvariantContainer(wx.Object):
@@ -197,7 +201,7 @@
        
         #Default color the extrapolation bar is grey
-        self.extrapolation_color_low = wx.Colour(169,  169, 168, 128)
-        self.extrapolation_color_high = wx.Colour(169,  169, 168, 128)
-        self.invariant_color = wx.Colour(67,  208,  128, 128)
+        self.extrapolation_color_low = EXTRAPOLATION_COLOR
+        self.extrapolation_color_high = EXTRAPOLATION_COLOR
+        self.invariant_color = INVARIANT_COLOR
         #change color of high and low bar when necessary
         self.set_color_bar()
@@ -420,5 +424,7 @@
         Change the color for low and high bar when necessary
         """
-        ERROR_COLOR = wx.Colour(255,  0, 0, 128)
+        self.extrapolation_color_low = EXTRAPOLATION_COLOR
+        self.extrapolation_color_high = EXTRAPOLATION_COLOR
+        self.invariant_color = INVARIANT_COLOR
         #warning to the user when the extrapolated invariant is greater than %5
         if self.low_scale >= 0.05 or self.low_scale > 1 or self.low_scale < 0:
@@ -426,7 +432,7 @@
         if self.high_scale >= 0.05 or self.high_scale > 1 or self.high_scale < 0:
             self.extrapolation_color_high = ERROR_COLOR 
-        if self.inv_scale >= 0.05 or self.inv_scale > 1 or self.inv_scale < 0:
+        if self.inv_scale > 1 or self.inv_scale < 0:
             self.invariant_color = ERROR_COLOR  
-            
+    
     def on_close(self, event):
         """
Index: invariantview/src/sans/perspectives/invariant/invariant_widgets.py
===================================================================
--- invariantview/src/sans/perspectives/invariant/invariant_widgets.py	(revision 7f1499668a369d91e2dec4a4e5f0c808b4ce119f)
+++ invariantview/src/sans/perspectives/invariant/invariant_widgets.py	(revision 9cec2dd96eedb99c5fc5d6c42f51c3853bf50c1a)
@@ -17,5 +17,10 @@
 
 WIDTH = 400
-HEIGHT = 200
+HEIGHT = 350
+
+class DialogPanel(ScrolledPanel):
+    def __init__(self, *args, **kwds):
+        ScrolledPanel.__init__(self, *args, **kwds)
+        self.SetupScrolling()
         
 class InvTextCtrl(wx.TextCtrl):
@@ -96,7 +101,7 @@
     """
     def __init__(self, data_list, parent=None, text='', *args, **kwds):
+        kwds['size'] = (WIDTH, HEIGHT)
+        kwds['title'] = "Data Selection"
         wx.Dialog.__init__(self, parent, *args, **kwds)
-        self.SetTitle("Data Selection")
-        self.SetSize((WIDTH, HEIGHT))
         self.list_of_ctrl = []
         if not data_list:
@@ -106,8 +111,9 @@
         self._sizer_button = wx.BoxSizer(wx.HORIZONTAL)
         self._choice_sizer = wx.GridBagSizer(5, 5)
-        self._panel = ScrolledPanel(self, style=wx.RAISED_BORDER,
-                               size=(WIDTH-20, HEIGHT-50))
-        self._panel.SetupScrolling()
+        self._panel = DialogPanel(self, style=wx.RAISED_BORDER,
+                               size=(WIDTH-20, HEIGHT/3))
+        self.SetSizer(self._sizer_main)
         self.__do_layout(data_list, text=text)
+        self.Layout()
         
     def __do_layout(self, data_list, text=''):
@@ -121,6 +127,8 @@
             text = "This Perspective does not allow multiple data !\n"
             text += "Please select only one Data.\n"
-        text_ctrl = wx.StaticText(self, -1, str(text))
-        self._sizer_txt.Add(text_ctrl)
+        text_ctrl = wx.TextCtrl(self, -1, str(text), style=wx.TE_MULTILINE,
+                                size=(-1, HEIGHT/3))
+        text_ctrl.SetEditable(False)
+        self._sizer_txt.Add(text_ctrl , 1, wx.EXPAND|wx.ALL, 10)
         iy = 0
         ix = 0
@@ -151,10 +159,9 @@
         static_line = wx.StaticLine(self, -1)
         
-        self._sizer_txt.Add(self._panel, 1, wx.EXPAND|wx.LEFT|wx.RIGHT, 5)
-        self._sizer_main.Add(self._sizer_txt, 1, wx.EXPAND|wx.ALL, 10)
+        self._sizer_txt.Add(self._panel, 0, wx.EXPAND|wx.ALL, 5)
+        self._sizer_main.Add(self._sizer_txt, 0, wx.EXPAND|wx.ALL, 5)
         self._sizer_main.Add(static_line, 0, wx.EXPAND, 0)
         self._sizer_main.Add(self._sizer_button, 0, wx.EXPAND|wx.ALL, 10)
-        self.SetSizer(self._sizer_main)
-        self.Layout()
+        
         
     def get_data(self):
