Index: prview/.pydevproject
===================================================================
--- prview/.pydevproject	(revision f3d51f6ec6277f40c94acc80d658917deab47a7a)
+++ prview/.pydevproject	(revision 0bae20701ca93a3ba97f57c1d6002d9a94dfb4e4)
@@ -4,5 +4,5 @@
 <pydev_project>
 <pydev_pathproperty name="org.python.pydev.PROJECT_SOURCE_PATH">
-<path>/prview/src</path>
+<path>/prview</path>
 </pydev_pathproperty>
 <pydev_property name="org.python.pydev.PYTHON_PROJECT_VERSION">python 2.5</pydev_property>
Index: prview/local_config.py
===================================================================
--- prview/local_config.py	(revision feb21d8f521ffdba2b16a877bea39dfe584996e8)
+++ prview/local_config.py	(revision 0bae20701ca93a3ba97f57c1d6002d9a94dfb4e4)
@@ -6,7 +6,7 @@
 # Version of the application
 __appname__ = "PrView"
-__version__ = '0.2.2'
+__version__ = '0.2.3'
 __download_page__ = 'http://danse.chem.utk.edu'
-__update_URL__ = 'http://danse.chem.utk.edu/prview_version.txt'
+__update_URL__ = 'http://danse.chem.utk.edu/prview_version.php'
 
 
Index: prview/perspectives/pr/inversion_panel.py
===================================================================
--- prview/perspectives/pr/inversion_panel.py	(revision 7a2feabab4a910d8c1a3b041fe61506c66889552)
+++ prview/perspectives/pr/inversion_panel.py	(revision 0bae20701ca93a3ba97f57c1d6002d9a94dfb4e4)
@@ -411,5 +411,5 @@
         explanation  = "P(r) is found by fitting a set of base functions to I(Q). "
         explanation += "The minimization involves a regularization term to ensure "
-        explanation += "a smooth P(r). The alpha parameter gives the size of that "  
+        explanation += "a smooth P(r). The regularization constant gives the size of that "  
         explanation += "term. The suggested value is the value above which the "
         explanation += "output P(r) will have only one peak."
@@ -837,9 +837,6 @@
                 if self.standalone==False:
                     self.file_radio.SetValue(True)
+                self.manager.show_data(path, reset=True)
                 self._on_pars_changed(None)
-                self.manager.show_data(path, reset=True)
-        
-
-
 
 class HelpDialog(wx.Dialog):
Index: prview/perspectives/pr/pr.py
===================================================================
--- prview/perspectives/pr/pr.py	(revision 900c787e7a967eb464836ec41ea25e77249d3384)
+++ prview/perspectives/pr/pr.py	(revision 0bae20701ca93a3ba97f57c1d6002d9a94dfb4e4)
@@ -52,4 +52,5 @@
         ## Remember last plottable processed
         self.last_data  = "sphere_60_q0_2.txt"
+        self._current_file_data = None
         ## Time elapsed for last computation [sec]
         # Start with a good default
@@ -333,5 +334,39 @@
         return self.parent.choose_file()
                 
-    def load(self, path = "sphere_60_q0_2.txt"):
+                
+    def load(self, path):
+        """
+            Load data. This will eventually be replaced
+            by our standard DataLoader class.
+        """
+        
+        class FileData:
+            x = None
+            y = None
+            err = None
+            path = None
+            
+            def __init__(self, path):
+                self.path = path
+                
+        self._current_file_data = FileData(path)
+        print "load", path
+        basename = os.path.basename(path)
+        root, ext = os.path.splitext(basename)
+        if ext.lower()=='.abs':
+            x, y, err = self.load_abs(path)
+        
+        else: 
+            x, y, err = self.load_columns(path)
+            
+        self._current_file_data.x = x
+        self._current_file_data.y = y
+        self._current_file_data.err = err
+        return x, y, err
+                
+    def load_columns(self, path = "sphere_60_q0_2.txt"):
+        """
+            Load 2- or 3- column ascii
+        """
         import numpy, math, sys
         # Read the data from the data file
@@ -374,4 +409,57 @@
         return data_x, data_y, data_err     
         
+    def load_abs(self, path):
+        """
+            Load an IGOR .ABS reduced file
+            @param path: file path
+            @return: x, y, err vectors
+        """
+        import numpy, math, sys
+        # Read the data from the data file
+        data_x   = numpy.zeros(0)
+        data_y   = numpy.zeros(0)
+        data_err = numpy.zeros(0)
+        scale    = None
+        min_err  = 0.0
+        
+        data_started = False
+        if not path == None:
+            input_f = open(path,'r')
+            buff    = input_f.read()
+            lines   = buff.split('\n')
+            for line in lines:
+                if data_started==True:
+                    try:
+                        toks = line.split()
+                        x = float(toks[0])
+                        y = float(toks[1])
+                        if len(toks)>2:
+                            err = float(toks[2])
+                        else:
+                            if scale==None:
+                                scale = 0.05*math.sqrt(y)
+                                #scale = 0.05/math.sqrt(y)
+                                min_err = 0.01*y
+                            err = scale*math.sqrt(y)+min_err
+                            #err = 0
+                            
+                        data_x = numpy.append(data_x, x)
+                        data_y = numpy.append(data_y, y)
+                        data_err = numpy.append(data_err, err)
+                    except:
+                        pass
+                elif line.find("The 6 columns")>=0:
+                    data_started = True      
+                   
+        if not scale==None:
+            message = "The loaded file had no error bars, statistical errors are assumed."
+            wx.PostEvent(self.parent, StatusEvent(status=message))
+        else:
+            wx.PostEvent(self.parent, StatusEvent(status=''))
+                        
+        return data_x, data_y, data_err     
+        
+        
+        
     def pr_theory(self, r, R):
         """
@@ -556,13 +644,13 @@
         self.control_panel.bck = pr.background
         
-        for i in range(len(out)):
-            try:
-                print "%d: %g +- %g" % (i, out[i], math.sqrt(math.fabs(cov[i][i])))
-            except: 
-                print sys.exc_value
-                print "%d: %g +- ?" % (i, out[i])        
-        
-        # Make a plot of I(q) data
         if False:
+            for i in range(len(out)):
+                try:
+                    print "%d: %g +- %g" % (i, out[i], math.sqrt(math.fabs(cov[i][i])))
+                except: 
+                    print sys.exc_value
+                    print "%d: %g +- ?" % (i, out[i])        
+        
+            # Make a plot of I(q) data
             new_plot = Data1D(self.pr.x, self.pr.y, dy=self.pr.err)
             new_plot.name = "I_{obs}(q)"
@@ -589,6 +677,7 @@
         
         
-        if not path==None:
-            self._create_file_pr(path)  
+        if path is not None:
+            pr = self._create_file_pr(path)
+            self.pr = pr  
               
         # Make a plot of I(q) data
@@ -727,8 +816,15 @@
         from sans.guiframe.data_loader import load_ascii_1D
         import numpy
+        
         # Load data
         if os.path.isfile(path):
             
-            x, y, err = self.load(path)
+            if self._current_file_data is not None \
+                and self._current_file_data.path==path:
+                x = self._current_file_data.x
+                y = self._current_file_data.y
+                err = self._current_file_data.err
+            else:
+                x, y, err = self.load(path)
             #x, y, err = load_ascii_1D(path)
             
@@ -756,7 +852,4 @@
             pr.slit_width = self.slit_width
             return pr
-            #self.pr = pr
-            #return True
-        #return False
         return None
         
Index: prview/release_notes.txt
===================================================================
--- prview/release_notes.txt	(revision f4e1c9e3be3febba0105af541c7083c28e3563f2)
+++ prview/release_notes.txt	(revision 0bae20701ca93a3ba97f57c1d6002d9a94dfb4e4)
@@ -6,5 +6,10 @@
 Package name: None
 
-1- Version 0.2.2
+1- Version 0.2.x
+	- Release date: ?
+	- Added functionality for .ABS IGOR reduced 1D files.
+	- Fixed problem with loading additional data after the P(r) graph's scale has been changed.
+
+   Version 0.2.2
 
 	- Release date: 7/8/2008
@@ -48,5 +53,11 @@
 
 	3.1- All systems:
-		- None
+		Version 0.2.2:
+		- The application only loads .txt files. The expected format is 2- or 3-column ascii.
+    	- More than a single additional data set should be plottable on the P(r) graph.
+    	- Additional data plotted on the P(r) graph should also be normalizable.
+    	- If additional P(r) data is loaded after a scale change has been done, the loaded data appears in another window rather than on the same graph. If additional P(r) data is loaded while the scale of the P(r) graph is linear, the behavior is correct.
+    	- The application will not load data files with a point at Q=0. The user will not be notified.
+
 
 	3.2- Windows:
