Author: bugman Date: Tue May 22 16:56:08 2012 New Revision: 16397 URL: http://svn.gna.org/viewcvs/relax?rev=16397&view=rev Log: The Sequence.GetValue() method now properly handles the Combo_list and single values. Modified: branches/uf_redesign/gui/input_elements/sequence.py Modified: branches/uf_redesign/gui/input_elements/sequence.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/input_elements/sequence.py?rev=16397&r1=16396&r2=16397&view=diff ============================================================================== --- branches/uf_redesign/gui/input_elements/sequence.py (original) +++ branches/uf_redesign/gui/input_elements/sequence.py Tue May 22 16:56:08 2012 @@ -236,27 +236,34 @@ # The value. value = self._field.GetValue() - # Handle single values. - value_set = False + # Non Combo_list elements. + if self.element_type != 'combo_list': + # Handle single values. + value_set = False + if self.single_value: + try: + value = self.convert_from_gui(value) + value_set = True + except: + pass + + # Convert to a sequence, handling bad user behaviour. + if not value_set: + try: + value = self.convert_from_gui_seq(value) + except RelaxError: + if self.seq_type == 'list': + value = [] + else: + value = () + + # Convert sequences to single values as needed. if self.single_value: - try: - value = self.convert_from_gui(value) - value_set = True - except: - pass - - # Convert to a sequence, handling bad user behaviour. - if not value_set: - try: - value = self.convert_from_gui_seq(value) - except RelaxError: - if self.seq_type == 'list': - value = [] - else: - value = () + if isinstance(value, list) or isinstance(value, tuple): + value = value[0] # Convert single values to sequences as needed. - if not self.single_value: + else: if self.seq_type == 'list' and not isinstance(value, list): value = [value] elif self.seq_type == 'tuple' and not isinstance(value, tuple):