Author: michaelbieri Date: Tue Jun 7 03:38:15 2011 New Revision: 12868 URL: http://svn.gna.org/viewcvs/relax?rev=12868&view=rev Log: R2 delax can be imported from variable counter (VC) list. 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=12868&r1=12867&r2=12868&view=diff ============================================================================== --- 1.3/gui/analyses/auto_rx_base.py (original) +++ 1.3/gui/analyses/auto_rx_base.py Tue Jun 7 03:38:15 2011 @@ -176,7 +176,7 @@ add_vd = wx.Button(self.parent, -1, "+VD") add_vd.SetToolTipString("Add VD (variable delay) list to automatically fill in R1 relaxation times.") add_vd.SetMinSize((50, 50)) - self.gui.Bind(wx.EVT_BUTTON, self.load_vd, add_vd) + self.gui.Bind(wx.EVT_BUTTON, self.load_delay, add_vd) button_sizer.Add(add_vd, 0, wx.ADJUST_MINSIZE, 0) # Add Vc list import @@ -184,15 +184,17 @@ add_vc = wx.Button(self.parent, -1, "+VC") add_vc.SetToolTipString("Add VC (variable counter) list to automatically fill in R2 relaxation times.") add_vc.SetMinSize((50, 50)) - self.gui.Bind(wx.EVT_BUTTON, self.load_vd, add_vc) button_sizer.Add(add_vc, 0, wx.ADJUST_MINSIZE, 0) # Time of counter - label = wx.TextCtrl(self.parent, -1, "0") - label.SetToolTipString("Time of counter loop in seconds.") - label.SetMinSize((50, 20)) - label.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) - button_sizer.Add(label, 0, 0 ,0) + self.vc_time = wx.TextCtrl(self.parent, -1, "0") + self.vc_time.SetToolTipString("Time of counter loop in seconds.") + self.vc_time.SetMinSize((50, 20)) + self.vc_time.SetFont(wx.Font(7, wx.DEFAULT, wx.NORMAL, wx.NORMAL, 0, "")) + button_sizer.Add(self.vc_time, 0, 0 ,0) + + # Action of Button + self.gui.Bind(wx.EVT_BUTTON, lambda evt, vc=True: self.load_delay(evt, vc), add_vc) # Pack buttons sizer.Add(button_sizer, 0, 0, 0) @@ -524,7 +526,7 @@ # Incomplete. if not complete: - print 'Aborting NOE caclulation as the following informations are missing:\n' + print 'Aborting Rx caclulation as the following informations are missing:\n' for i in range(len(missing)): print '\t'+missing[i] print '' @@ -559,71 +561,29 @@ self.peak_intensity.data = data - def load_peaklist(self, event): - """Function to load peak lists to data grid. + def load_delay(self, event, vc=False): + """The variable delay list loading GUI element. @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])) - - # 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. - - @param event: The wx event. - @type event: wx event - """ - - # Select the file. - file = load_sequence() - - # Nothing selected. - if file == None: - return - - # Store the file. - self.data.sequence_file = file - - # Sync. - self.sync_ds(upload=False) - - - def load_vd(self, event): - """The variable delay list loading GUI element. - - @param event: The wx event. - @type event: wx event - """ + # VD + + # VC time is not a number + if vc: + try: + vc_factor = float(self.vc_time.GetValue()) + except: + error_message('VC time is not a number.') + return + + # VD + else: + vc_factor = 1 # The file - filename = openfile(msg='Select VD file.', filetype='*.*', default='all files (*.*)|*') + filename = openfile(msg='Select file.', filetype='*.*', default='all files (*.*)|*') # Abort if nothing selected if not filename: @@ -642,15 +602,70 @@ continue # Write delay to peak list grid - self.peaklist.SetCellValue(index, 1, str(t)) + self.peaklist.SetCellValue(index, 1, str(t*vc_factor)) # Next peak list index = index + 1 # Too many entries in VD list if index == self.pk_list: - error_message('Too many entries in VD list.') + error_message('Too many entries in list.') return + + + 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 (*.*)|*') + + # 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])) + + # 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. + + @param event: The wx event. + @type event: wx event + """ + + # Select the file. + file = load_sequence() + + # Nothing selected. + if file == None: + return + + # Store the file. + self.data.sequence_file = file + + # Sync. + self.sync_ds(upload=False) def results_directory(self, event):