Author: michaelbieri Date: Tue Jun 7 02:42:27 2011 New Revision: 12861 URL: http://svn.gna.org/viewcvs/relax?rev=12861&view=rev Log: Peak lists can be loaded into peak list grid. Modified: 1.3/gui/analyses/auto_rx_base.py Modified: 1.3/gui/analyses/auto_rx_base.py URL: http://svn.gna.org/viewcvs/relax/1.3/gui/analyses/auto_rx_base.py?rev=12861&r1=12860&r2=12861&view=diff ============================================================================== --- 1.3/gui/analyses/auto_rx_base.py (original) +++ 1.3/gui/analyses/auto_rx_base.py Tue Jun 7 02:42:27 2011 @@ -1,6 +1,6 @@ ############################################################################### # # -# Copyright (C) 2009 Michael Bieri # +# Copyright (C) 2009-2011 Michael Bieri # # Copyright (C) 2010-2011 Edward d'Auvergne # # # # This file is part of the program relax. # @@ -157,7 +157,7 @@ """Fuction to load/select peak lists and set relaxation time.""" # Number of peaklists - pk_list = 20 + self.pk_list = 20 # Sizer sizer = wx.BoxSizer(wx.HORIZONTAL) @@ -165,13 +165,14 @@ # Add peaklist button add_pkl = wx.BitmapButton(self.parent, -1, bitmap=wx.Bitmap(paths.icon_16x16.add, wx.BITMAP_TYPE_ANY)) add_pkl.SetMinSize((50, 50)) + self.gui.Bind(wx.EVT_BUTTON, self.load_peaklist, add_pkl) sizer.Add(add_pkl, 0, wx.ADJUST_MINSIZE, 0) # Grid of peak list file names and relaxation time self.peaklist = wx.grid.Grid(self.parent, -1, size=(1, 300)) # Create entries - self.peaklist.CreateGrid(pk_list, 2) + self.peaklist.CreateGrid(self.pk_list, 2) # Create headers self.peaklist.SetColLabelValue(0, "Peak lists") @@ -533,6 +534,42 @@ self.peak_intensity.data = data + def load_peaklist(self, event): + """Function to load peak lists to data grid. + + @param event: The wx event. + @type event: wx event + """ + + # Open files + files = multi_openfile(msg='Select %s peak list file' % self.label, filetype='*.*', default='all files (*.*)|*') + print str(files) + + # Abort if no files have been selected + if not files: + return + + # Fill values in data grid + index = 0 + for i in range(self.pk_list): + # Add entry if nothing is filled in already + if str(self.peaklist.GetCellValue(i, 0)) == '': + # Write peak file + self.peaklist.SetCellValue(i, 0, str(files[index])) + print str(files[index]) + + # Next file + index = index + 1 + + # Stop if no files left + if index == len(files): + break + + # Error message if not all files were loaded + if index < (len(files)-1): + error_message('Not all files could be loaded.') + + def load_sequence(self, event): """The sequence loading GUI element.