Index: prview/perspectives/pr/inversion_state.py
===================================================================
--- prview/perspectives/pr/inversion_state.py	(revision a07e72f8fb8281178797bf691b36e56274d8580b)
+++ prview/perspectives/pr/inversion_state.py	(revision a3149c556946d67517ae336f6e943022334890be)
@@ -409,6 +409,4 @@
         return None
     
-    def get_state(self):
-        return self.state
     def _parse_prstate(self, entry):
         """
Index: prview/perspectives/pr/pr.py
===================================================================
--- prview/perspectives/pr/pr.py	(revision 053c769c638a5a95579a3289bf201c5676cddaba)
+++ prview/perspectives/pr/pr.py	(revision a3149c556946d67517ae336f6e943022334890be)
@@ -158,4 +158,5 @@
             # Load the P(r) results
             #state = self.state_reader.get_state()
+            self.parent.add_data(data_list=[self.current_plottable])
             wx.PostEvent(self.parent, NewPlotEvent(plot=self.current_plottable,
                                         title=self.current_plottable.title))
@@ -223,4 +224,6 @@
         new_plot.id = "P_{obs}(r)"
         new_plot.title = title
+        self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)
         wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title=title))
 
@@ -251,5 +254,10 @@
         new_plot.xaxis("\\rm{r}", 'A')
         new_plot.yaxis("\\rm{P(r)} ","cm^{-3}")
-        
+        new_plot.id = "P_{true}(r)"
+        group_id = "P_{true}(r)"
+        if group_id not in new_plot.group_id:
+            new_plot.group_id.append(group_id)
+        self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)
         #Put this call in plottables/guitools    
         wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Sphere P(r)"))
@@ -312,5 +320,6 @@
                 new_plot.group_id.append( pr.info["plot_group_id"][index])
         new_plot.id = IQ_FIT_LABEL
-        #new_plot.group_id.append(2)
+        self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)
         wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title=title))
         
@@ -342,5 +351,6 @@
             new_plot.id = IQ_SMEARED_LABEL
             new_plot.title = title
-            #new_plot.group_id.append(2)
+            self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)
             wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title=title))
         
@@ -407,5 +417,10 @@
         # Make sure that the plot is linear
         new_plot.xtransform = "x"
-        new_plot.ytransform = "y"                 
+        new_plot.ytransform = "y"  
+        group_id = "P(r) fit"
+        if group_id not in new_plot.group_id:
+            new_plot.group_id.append(group_id)   
+        self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)            
         wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="P(r) fit"))
         
@@ -667,5 +682,6 @@
             new_plot.xaxis("\\rm{r}", 'A')
             new_plot.yaxis("\\rm{P(r)} ","cm^{-3}")
-            
+            self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)        
             wx.PostEvent(self.parent, 
                          NewPlotEvent(plot=new_plot, update=True,
@@ -697,5 +713,6 @@
             new_plot.xaxis("\\rm{r}", 'A')
             new_plot.yaxis("\\rm{P(r)} ","cm^{-3}")
-            
+            self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)        
             wx.PostEvent(self.parent, 
                          NewPlotEvent(plot=new_plot, update=True,
@@ -873,4 +890,6 @@
                 new_plot.group_id.append(pr.info["plot_group_id"])
             new_plot.id = IQ_DATA_LABEL
+            self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)
             wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Iq"))
                 
@@ -921,4 +940,6 @@
         new_plot.id = IQ_DATA_LABEL
         new_plot.title = "I(q)"
+        self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)        
         wx.PostEvent(self.parent, 
                      NewPlotEvent(plot=new_plot, title="I(q)", reset=reset))
@@ -1263,4 +1284,6 @@
         new_plot.xaxis("\\rm{Q}", 'A^{-1}')
         new_plot.yaxis("\\rm{Intensity} ","cm^{-1}")
+        self.parent.append_theory(data_id=self.current_plottable.id,
+                                       theory=new_plot)
         wx.PostEvent(self.parent, NewPlotEvent(plot=new_plot, title="Iq"))
         # Show I(q) fit
@@ -1327,8 +1350,10 @@
         return [self.control_panel]
     
-    def set_data(self, data_list):
+    def set_data(self, data_list=None, theory_list=None):
         """
         receive a list of data to compute pr
         """
+        if data_list is None:
+            data_list = []
         if len(data_list) > 1:
             msg = "Pr panel does not allow multiple Data.\n"
