mailr23513 - in /trunk/gui/input_elements: sequence.py sequence_2D.py


Others Months | Index by Date | Thread Index
>>   [Date Prev] [Date Next] [Thread Prev] [Thread Next]

Header


Content

Posted by edward on May 28, 2014 - 14:39:
Author: bugman
Date: Wed May 28 14:39:27 2014
New Revision: 23513

URL: http://svn.gna.org/viewcvs/relax?rev=23513&view=rev
Log:
Bug fix for the Sequence_2D GUI element.

This is used for the user function windows in the GUI for setting lists of 
lists or matrices.  The
GUI element GetValue() method will now return None if nothing is set.  This 
prevents a list of lists
of None being added to the main user function window.


Modified:
    trunk/gui/input_elements/sequence.py
    trunk/gui/input_elements/sequence_2D.py

Modified: trunk/gui/input_elements/sequence.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/gui/input_elements/sequence.py?rev=23513&r1=23512&r2=23513&view=diff
==============================================================================
--- trunk/gui/input_elements/sequence.py        (original)
+++ trunk/gui/input_elements/sequence.py        Wed May 28 14:39:27 2014
@@ -365,7 +365,7 @@
         value = self.sel_win.GetValue()
 
         # No sequence data.
-        if not len(value):
+        if value == None or not len(value):
             self.Clear()
 
         # Set the values.
@@ -471,6 +471,11 @@
         else:
             raise RelaxError("Unknown base data type '%s'." % value_type)
 
+        # Variable length.
+        self.variable_length = False
+        if dim == None:
+            self.variable_length = True
+
         # The title of the dialog.
         title = "Edit the %s values." % name
 
@@ -530,6 +535,17 @@
         # Sequence conversion.
         if self.seq_type == 'tuple':
             values = tuple(values)
+
+        # Check that something is set.
+        empty = True
+        for i in range(len(values)):
+            if values[i] != None:
+                empty = False
+                break
+
+        # Return nothing.
+        if empty:
+            return None
 
         # Return the sequence.
         return values
@@ -640,8 +656,13 @@
         # The next index.
         next = self.sequence.GetItemCount()
 
+        # Add a new row with the index at the start.
+        if self.variable_length:
+            self.sequence.InsertStringItem(next, int_to_gui(next+1))
+
         # Add a new empty row.
-        self.sequence.InsertStringItem(next, int_to_gui(next+1))
+        else:
+            self.sequence.InsertStringItem(next, str_to_gui(''))
 
 
     def add_list(self, sizer):

Modified: trunk/gui/input_elements/sequence_2D.py
URL: 
http://svn.gna.org/viewcvs/relax/trunk/gui/input_elements/sequence_2D.py?rev=23513&r1=23512&r2=23513&view=diff
==============================================================================
--- trunk/gui/input_elements/sequence_2D.py     (original)
+++ trunk/gui/input_elements/sequence_2D.py     Wed May 28 14:39:27 2014
@@ -160,6 +160,11 @@
         if dim == None:
             dim = (None, len(self.titles))
 
+        # Variable length.
+        self.variable_length = False
+        if dim[0] == None:
+            self.variable_length = True
+
         # Initialise the base class.
         Sequence_window.__init__(self, name=name, seq_type=seq_type, 
value_type=value_type, dim=dim)
 
@@ -168,7 +173,7 @@
         """Return the values as a 2D sequence of values.
 
         @return:    The list of lists of values.
-        @rtype:     list of lists of str
+        @rtype:     list of lists of str or None
         """
 
         # Init.
@@ -194,6 +199,18 @@
         # Sequence conversion.
         if self.seq_type == 'tuple':
             values = tuple(values)
+
+        # Check that something is set.
+        empty = True
+        for i in range(len(values)):
+            for j in range(len(values[i])):
+                if values[i][j] != None:
+                    empty = False
+                    break
+
+        # Return nothing.
+        if empty:
+            return None
 
         # Return the list.
         return values




Related Messages


Powered by MHonArc, Updated Wed May 28 15:20:03 2014