Author: bugman Date: Mon May 7 20:00:22 2012 New Revision: 16072 URL: http://svn.gna.org/viewcvs/relax?rev=16072&view=rev Log: The default value of the user function args is now set in the wizard page elements. This is for the auto-generated user functions. Modified: branches/uf_redesign/gui/uf_objects.py branches/uf_redesign/gui/wizard.py branches/uf_redesign/gui/wizard_elements.py Modified: branches/uf_redesign/gui/uf_objects.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/uf_objects.py?rev=16072&r1=16071&r2=16072&view=diff ============================================================================== --- branches/uf_redesign/gui/uf_objects.py (original) +++ branches/uf_redesign/gui/uf_objects.py Mon May 7 20:00:22 2012 @@ -213,7 +213,7 @@ # Value types. elif arg['py_type'] in ['float', 'int', 'num', 'str']: - self.element_value(key=arg['name'], element_type=arg['wiz_element_type'], value_type=arg['py_type'], sizer=sizer, desc=desc, combo_choices=arg['wiz_combo_choices'], combo_data=arg['wiz_combo_data'], combo_default=arg['wiz_combo_default'], tooltip=arg['desc'], read_only=arg['wiz_read_only']) + self.element_value(key=arg['name'], default=arg['default'], element_type=arg['wiz_element_type'], value_type=arg['py_type'], sizer=sizer, desc=desc, combo_choices=arg['wiz_combo_choices'], combo_data=arg['wiz_combo_data'], combo_default=arg['wiz_combo_default'], tooltip=arg['desc'], read_only=arg['wiz_read_only']) # Bool type. elif arg['py_type'] == 'bool': @@ -240,7 +240,7 @@ if arg['py_type'] in ['float_or_float_list', 'int_or_int_list', 'num_or_num_list', 'str_or_str_list', 'float_or_float_tuple', 'int_or_int_tuple', 'num_or_num_tuple', 'str_or_str_tuple']: single_value = True - self.element_sequence(key=arg['name'], element_type=arg['wiz_element_type'], seq_type=seq_type, value_type=value_type, sizer=sizer, desc=desc, combo_choices=arg['wiz_combo_choices'], combo_data=arg['wiz_combo_data'], combo_default=arg['wiz_combo_default'], combo_list_size=arg['wiz_combo_list_size'], tooltip=arg['desc'], single_value=single_value, read_only=arg['wiz_read_only']) + self.element_sequence(key=arg['name'], default=arg['default'], element_type=arg['wiz_element_type'], seq_type=seq_type, value_type=value_type, sizer=sizer, desc=desc, combo_choices=arg['wiz_combo_choices'], combo_data=arg['wiz_combo_data'], combo_default=arg['wiz_combo_default'], combo_list_size=arg['wiz_combo_list_size'], tooltip=arg['desc'], single_value=single_value, read_only=arg['wiz_read_only']) # String list of lists. elif arg['py_type'] in ['float_list_of_lists', 'int_list_of_lists', 'num_list_of_lists', 'str_list_of_lists', 'float_tuple_of_tuples', 'int_tuple_of_tuples', 'num_tuple_of_tuples', 'str_tuple_of_tuples']: @@ -258,7 +258,7 @@ else: value_type = 'str' - self.element_sequence_2D(key=arg['name'], sizer=sizer, element_type=arg['wiz_element_type'], seq_type=seq_type, value_type=value_type, titles=arg['list_titles'], desc=desc, combo_choices=arg['wiz_combo_choices'], combo_data=arg['wiz_combo_data'], combo_default=arg['wiz_combo_default'], combo_list_size=arg['wiz_combo_list_size'], tooltip=arg['desc'], read_only=arg['wiz_read_only']) + self.element_sequence_2D(key=arg['name'], default=arg['default'], sizer=sizer, element_type=arg['wiz_element_type'], seq_type=seq_type, value_type=value_type, titles=arg['list_titles'], desc=desc, combo_choices=arg['wiz_combo_choices'], combo_data=arg['wiz_combo_data'], combo_default=arg['wiz_combo_default'], combo_list_size=arg['wiz_combo_list_size'], tooltip=arg['desc'], read_only=arg['wiz_read_only']) # Unknown type. else: Modified: branches/uf_redesign/gui/wizard.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/wizard.py?rev=16072&r1=16071&r2=16072&view=diff ============================================================================== --- branches/uf_redesign/gui/wizard.py (original) +++ branches/uf_redesign/gui/wizard.py Mon May 7 20:00:22 2012 @@ -679,11 +679,13 @@ self._elements[key] = element - def element_sequence(self, key=None, sizer=None, element_type='default', seq_type=None, value_type=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, combo_list_size=None, tooltip=None, divider=None, padding=0, spacer=None, single_value=False, read_only=False): + def element_sequence(self, key=None, default=None, sizer=None, element_type='default', seq_type=None, value_type=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, combo_list_size=None, tooltip=None, divider=None, padding=0, spacer=None, single_value=False, read_only=False): """Set up the element and store it. @keyword key: The dictionary key to store the element with. @type key: str + @keyword default: The default value of the element. + @type default: sequence @keyword sizer: The sizer to put the input field widget into. @type sizer: wx.Sizer instance @keyword element_type: The type of GUI element to create. If set to 'default', the wx.TextCtrl element with a button to bring up a dialog with ListCtrl will be used. If set to 'combo_list', the special gui.components.combo_list.Combo_list element will be used. @@ -717,17 +719,19 @@ """ # Create the element. - element = Sequence(name=key, element_type=element_type, seq_type=seq_type, value_type=value_type, parent=self, sizer=sizer, desc=desc, combo_choices=combo_choices, combo_data=combo_data, combo_default=combo_default, combo_list_size=combo_list_size, tooltip=tooltip, divider=divider, padding=padding, spacer=spacer, single_value=single_value, read_only=read_only) + element = Sequence(name=key, default=default, element_type=element_type, seq_type=seq_type, value_type=value_type, parent=self, sizer=sizer, desc=desc, combo_choices=combo_choices, combo_data=combo_data, combo_default=combo_default, combo_list_size=combo_list_size, tooltip=tooltip, divider=divider, padding=padding, spacer=spacer, single_value=single_value, read_only=read_only) # Store it. self._elements[key] = element - def element_sequence_2D(self, key=None, sizer=None, element_type='default', seq_type=None, value_type=None, titles=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, combo_list_size=None, tooltip=None, divider=None, padding=0, spacer=None, read_only=False): + def element_sequence_2D(self, key=None, default=None, sizer=None, element_type='default', seq_type=None, value_type=None, titles=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, combo_list_size=None, tooltip=None, divider=None, padding=0, spacer=None, read_only=False): """Set up the element and store it. @keyword key: The dictionary key to store the element with. @type key: str + @keyword default: The default value of the element. + @type default: 2D sequence object @keyword sizer: The sizer to put the input field widget into. @type sizer: wx.Sizer instance @keyword element_type: The type of GUI element to create. If set to 'default', the wx.TextCtrl element with a button to bring up a dialog with ListCtrl will be used. If set to 'combo_list', the special gui.components.combo_list.Combo_list element will be used. @@ -761,17 +765,19 @@ """ # Create the element. - element = Sequence_2D(name=key, parent=self, sizer=sizer, element_type=element_type, seq_type=seq_type, value_type=value_type, titles=titles, desc=desc, combo_choices=combo_choices, combo_data=combo_data, combo_default=combo_default, combo_list_size=combo_list_size, tooltip=tooltip, divider=divider, padding=padding, spacer=spacer, read_only=read_only) + element = Sequence_2D(name=key, parent=self, default=default, sizer=sizer, element_type=element_type, seq_type=seq_type, value_type=value_type, titles=titles, desc=desc, combo_choices=combo_choices, combo_data=combo_data, combo_default=combo_default, combo_list_size=combo_list_size, tooltip=tooltip, divider=divider, padding=padding, spacer=spacer, read_only=read_only) # Store it. self._elements[key] = element - def element_value(self, key=None, element_type='text', value_type=None, sizer=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, tooltip=None, divider=None, padding=0, spacer=None, read_only=False): + def element_value(self, key=None, default=None, element_type='text', value_type=None, sizer=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, tooltip=None, divider=None, padding=0, spacer=None, read_only=False): """Set up the string element and store it. @keyword key: The dictionary key to store the element with. @type key: str + @keyword default: The default value of the element. + @type default: float or int or str @keyword element_type: The type of GUI element to create. If set to 'text', a wx.TextCtrl element will be used. If set to 'combo', a wx.ComboBox element will be used. @type element_type: str @keyword value_type: The type of Python object that the value should be. This can be one of 'float', 'int', or 'str'. @@ -799,7 +805,7 @@ """ # Create the element. - element = Value(name=key, parent=self, element_type=element_type, value_type=value_type, sizer=sizer, desc=desc, combo_choices=combo_choices, combo_data=combo_data, combo_default=combo_default, tooltip=tooltip, divider=divider, padding=padding, spacer=spacer, read_only=read_only) + element = Value(name=key, parent=self, default=default, element_type=element_type, value_type=value_type, sizer=sizer, desc=desc, combo_choices=combo_choices, combo_data=combo_data, combo_default=combo_default, tooltip=tooltip, divider=divider, padding=padding, spacer=spacer, read_only=read_only) # Store it. self._elements[key] = element Modified: branches/uf_redesign/gui/wizard_elements.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/wizard_elements.py?rev=16072&r1=16071&r2=16072&view=diff ============================================================================== --- branches/uf_redesign/gui/wizard_elements.py (original) +++ branches/uf_redesign/gui/wizard_elements.py Mon May 7 20:00:22 2012 @@ -54,11 +54,13 @@ - tuple of strings """ - def __init__(self, name=None, parent=None, element_type='default', seq_type=None, value_type=None, sizer=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, combo_list_size=None, tooltip=None, divider=None, padding=0, spacer=None, single_value=False, read_only=False): + def __init__(self, name=None, default=None, parent=None, element_type='default', seq_type=None, value_type=None, sizer=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, combo_list_size=None, tooltip=None, divider=None, padding=0, spacer=None, single_value=False, read_only=False): """Set up the element. @keyword name: The name of the element to use in titles, etc. @type name: str + @keyword default: The default value of the element. + @type default: sequence object @keyword parent: The wizard GUI element. @type parent: wx.Panel instance @keyword element_type: The type of GUI element to create. If set to 'default', the wx.TextCtrl element with a button to bring up a dialog with ListCtrl will be used. If set to 'combo_list', the special gui.components.combo_list.Combo_list element will be used. @@ -95,6 +97,7 @@ # Store the args. self.name = name + self.default = default self.element_type = element_type self.seq_type = seq_type self.value_type = value_type @@ -173,6 +176,9 @@ text.SetToolTipString(tooltip) self._field.SetToolTipString(tooltip) + # Set the default value. + if self.default != None: + self._field.SetValue(self.convert_to_gui(self.default)) # Initialise the combo list input field. elif self.element_type == 'combo_list': # Translate the read_only flag if None. @@ -676,11 +682,13 @@ - tuple of strings """ - def __init__(self, name=None, parent=None, sizer=None, element_type='default', seq_type=None, value_type=None, titles=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, combo_list_size=None, tooltip=None, divider=None, padding=0, spacer=None, read_only=False): + def __init__(self, name=None, default=None, parent=None, sizer=None, element_type='default', seq_type=None, value_type=None, titles=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, combo_list_size=None, tooltip=None, divider=None, padding=0, spacer=None, read_only=False): """Set up the element. @keyword name: The name of the element to use in titles, etc. @type name: str + @keyword default: The default value of the element. + @type default: 2D sequence object @keyword parent: The wizard GUI element. @type parent: wx.Panel instance @keyword sizer: The sizer to put the input field widget into. @@ -719,7 +727,7 @@ self.titles = titles # Initialise the base class. - Sequence.__init__(self, name=name, parent=parent, sizer=sizer, element_type=element_type, seq_type=seq_type, value_type=value_type, desc=desc, combo_choices=combo_choices, combo_data=combo_data, combo_default=combo_default, combo_list_size=combo_list_size, tooltip=tooltip, divider=divider, padding=padding, spacer=spacer, read_only=read_only) + Sequence.__init__(self, name=name, default=default, parent=parent, sizer=sizer, element_type=element_type, seq_type=seq_type, value_type=value_type, desc=desc, combo_choices=combo_choices, combo_data=combo_data, combo_default=combo_default, combo_list_size=combo_list_size, tooltip=tooltip, divider=divider, padding=padding, spacer=spacer, read_only=read_only) def open_dialog(self, event): @@ -1099,11 +1107,13 @@ - strings """ - def __init__(self, name=None, parent=None, element_type='text', value_type=None, sizer=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, tooltip=None, divider=None, padding=0, spacer=None, read_only=False): + def __init__(self, name=None, default=None, parent=None, element_type='text', value_type=None, sizer=None, desc=None, combo_choices=None, combo_data=None, combo_default=None, tooltip=None, divider=None, padding=0, spacer=None, read_only=False): """Set up the base value element. @keyword name: The name of the element to use in titles, etc. @type name: str + @keyword default: The default value of the element. + @type default: float or int or str @keyword parent: The wizard GUI element. @type parent: wx.Panel instance @keyword element_type: The type of GUI element to create. If set to 'text', a wx.TextCtrl element will be used. If set to 'combo', a wx.ComboBox element will be used. @@ -1138,6 +1148,7 @@ # Store the args. self.name = name + self.default = default self.element_type = element_type # The value types. @@ -1189,6 +1200,10 @@ colour = parent.GetBackgroundColour() self._field.SetOwnBackgroundColour(colour) + # Set the default value. + if self.default != None: + self._field.SetValue(self.convert_to_gui(self.default)) + # Initialise the combo box input field. elif self.element_type == 'combo': # The style.