Author: bugman Date: Sun May 13 15:29:08 2012 New Revision: 16279 URL: http://svn.gna.org/viewcvs/relax?rev=16279&view=rev Log: Removed the dependence on the old GUI user function system. Now the GUI user function storage object is used throughout. Modified: branches/uf_redesign/gui/menu.py branches/uf_redesign/gui/relax_gui.py branches/uf_redesign/gui/results_viewer.py branches/uf_redesign/gui/spin_viewer/frame.py branches/uf_redesign/gui/spin_viewer/tree.py branches/uf_redesign/test_suite/gui_tests/model_free.py branches/uf_redesign/test_suite/gui_tests/noe.py branches/uf_redesign/test_suite/gui_tests/rx.py branches/uf_redesign/test_suite/gui_tests/state.py Modified: branches/uf_redesign/gui/menu.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/menu.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/gui/menu.py (original) +++ branches/uf_redesign/gui/menu.py Sun May 13 15:29:08 2012 @@ -38,7 +38,6 @@ from gui import paths from gui.components.menu import build_menu_item from gui.uf_objects import Uf_storage -from gui.uf_pages import User_functions class Menu: @@ -216,11 +215,8 @@ @type event: wx event """ - # The user functions. - user_functions = User_functions(self.gui) - # Launch the user functions. - user_functions.gpl.run() + uf_storage['gpl']() # Show the relax controller. self.gui.show_controller(event) @@ -233,11 +229,8 @@ @type event: wx event """ - # The user functions. - user_functions = User_functions(self.gui) - # Launch the user functions. - user_functions.sys_info.sys_info() + uf_storage['sys_info']() def _user_functions(self): @@ -249,9 +242,6 @@ # Initialise some variables. class_list = [] store = Uf_storage() - - # The user functions. - user_functions = User_functions(self.gui) # Loop over the user functions. class_item = None Modified: branches/uf_redesign/gui/relax_gui.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/relax_gui.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/gui/relax_gui.py (original) +++ branches/uf_redesign/gui/relax_gui.py Sun May 13 15:29:08 2012 @@ -71,8 +71,7 @@ from gui.relax_prompt import Prompt from gui.results_viewer import Results_viewer from gui.components.free_file_format import Free_file_format_window -from gui.uf_objects import Uf_storage, Uf_object -from gui.uf_pages import User_functions; user_functions = User_functions() +from gui.uf_objects import Uf_storage, Uf_object; uf_store = Uf_storage() class Main(wx.Frame): @@ -181,7 +180,7 @@ # Run a script. if script: - wx.CallAfter(user_functions.script.script_exec, script) + wx.CallAfter(uf_store['script'](script)) def about_gui(self, event): @@ -278,16 +277,13 @@ def auto_generate(self): """Build the user function objects from the user function data object information.""" - # The storage object. - store = Uf_storage() - # Generate the user functions. for name, data in uf_info.uf_loop(): # Generate a new container. obj = Uf_object(name, self, title=data.title, size=data.wizard_size, height_desc=data.wizard_height_desc, apply_button=data.wizard_apply_button, sync=data.gui_sync) # Store it. - store[name] = obj + uf_store[name] = obj def close_windows(self): Modified: branches/uf_redesign/gui/results_viewer.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/results_viewer.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/gui/results_viewer.py (original) +++ branches/uf_redesign/gui/results_viewer.py Sun May 13 15:29:08 2012 @@ -1,7 +1,7 @@ ############################################################################### # # # Copyright (C) 2010 Michael Bieri # -# Copyright (C) 2011 Edward d'Auvergne # +# Copyright (C) 2011-2012 Edward d'Auvergne # # # # This file is part of the program relax. # # # @@ -40,7 +40,7 @@ from gui.interpreter import Interpreter; interpreter = Interpreter() from gui.misc import add_border, gui_to_str, open_file, str_to_gui from gui.paths import icon_22x22 -from gui.uf_pages import User_functions +from gui.uf_objects import Uf_storage; uf_store = Uf_storage() class Results_viewer(wx.Frame): @@ -59,9 +59,6 @@ # Initialise the base frame. wx.Frame.__init__(self, parent=parent, style=wx.DEFAULT_FRAME_STYLE) - - # Initialise the user functions. - self.user_functions = User_functions(self) # Set up the window icon. self.SetIcons(relax_icons) @@ -248,15 +245,15 @@ # Grace files. if type == 'grace': - self.user_functions.grace.view(file=file) + uf_store['grace.view'](file=file) # PyMOL macro files. elif type == 'pymol': - self.user_functions.pymol.macro_run(file=file) + uf_store['pymol.macro_run'](file=file) # Molmol macro files. elif type == 'molmol': - self.user_functions.molmol.macro_run(file=file) + uf_store['molmol.macro_run'](file=file) # Diffusion tensor PDB. elif type == 'diff_tensor_pdb': Modified: branches/uf_redesign/gui/spin_viewer/frame.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/spin_viewer/frame.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/gui/spin_viewer/frame.py (original) +++ branches/uf_redesign/gui/spin_viewer/frame.py Sun May 13 15:29:08 2012 @@ -37,10 +37,8 @@ from gui.paths import icon_32x32, WIZARD_IMAGE_PATH from gui.components.menu import build_menu_item from gui.icons import relax_icons -from gui.menu import Uf_menus from gui.misc import gui_raise, gui_to_str, str_to_gui from gui.spin_viewer.splitter import Tree_splitter -from gui.uf_pages import User_functions, sequence, structure; user_functions = User_functions() from gui.wizard import Wiz_page, Wiz_window @@ -118,7 +116,6 @@ # The user function menu entry. menu = wx.Menu() - uf_menus = Uf_menus(parent=self, menu=menu) title = "&User functions" self.menubar.Append(menu, title) @@ -218,22 +215,22 @@ self.wizard.set_seq_next_fn(self.page_indices['method'], self.wizard_page_after_load_method) # The sequence.read page. - page = sequence.Read_page(self.wizard) + page = uf_store['sequence.read'].create_page(self.wizard) self.page_indices['sequence.read'] = self.wizard.add_page(page, skip_button=True) self.wizard.set_seq_next_fn(self.page_indices['sequence.read'], self.wizard_page_after_sequence_read) # The structure.read_pdb page. - page = structure.Read_pdb_page(self.wizard) + page = uf_store['structure.read_pdb'].create_page(self.wizard) self.page_indices['structure.read_pdb'] = self.wizard.add_page(page, skip_button=True) self.wizard.set_seq_next_fn(self.page_indices['structure.read_pdb'], self.wizard_page_after_structure_read) # The structure.read_xyz page. - page = structure.Read_xyz_page(self.wizard) + page = uf_store['structure.read_xyz'].create_page(self.wizard) self.page_indices['structure.read_xyz'] = self.wizard.add_page(page, skip_button=True) self.wizard.set_seq_next_fn(self.page_indices['structure.read_xyz'], self.wizard_page_after_structure_read) # The structure.load_spins page. - page = structure.Load_spins_page(self.wizard) + page = uf_store['structure.load_spins'].create_page(self.wizard) self.page_indices['structure.load_spins'] = self.wizard.add_page(page) # The termination page. Modified: branches/uf_redesign/gui/spin_viewer/tree.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/gui/spin_viewer/tree.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/gui/spin_viewer/tree.py (original) +++ branches/uf_redesign/gui/spin_viewer/tree.py Sun May 13 15:29:08 2012 @@ -38,7 +38,6 @@ from gui.components.menu import build_menu_item from gui.message import Question from gui.misc import gui_to_str -from gui.uf_pages import User_functions class Mol_res_spin_tree(wx.Window): @@ -200,11 +199,8 @@ @type event: wx event """ - # Set up the user functions. - user_functions = User_functions(self.gui.spin_viewer) - # Call the dialog. - user_functions.molecule.create() + uf_store['molecule.create'](parent=self.gui.spin_viewer) def create_residue(self, event): @@ -214,11 +210,8 @@ @type event: wx event """ - # Set up the user functions. - user_functions = User_functions(self.gui.spin_viewer) - # Call the dialog. - user_functions.residue.create(mol_name=self.info['mol_name']) + uf_store['residue.create'](parent=self.gui.spin_viewer, mol_name=self.info['mol_name']) def create_spin(self, event): @@ -228,11 +221,8 @@ @type event: wx event """ - # Set up the user functions. - user_functions = User_functions(self.gui.spin_viewer) - # Call the dialog. - user_functions.spin.create(mol_name=self.info['mol_name'], res_num=self.info['res_num'], res_name=self.info['res_name']) + uf_store['spin.create'](parent=self.gui.spin_viewer, mol_name=self.info['mol_name'], res_num=self.info['res_num'], res_name=self.info['res_name']) def delete_molecule(self, event): Modified: branches/uf_redesign/test_suite/gui_tests/model_free.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/test_suite/gui_tests/model_free.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/test_suite/gui_tests/model_free.py (original) +++ branches/uf_redesign/test_suite/gui_tests/model_free.py Sun May 13 15:29:08 2012 @@ -35,7 +35,6 @@ # relax GUI imports. from gui.analyses import auto_model_free from gui.misc import float_to_gui, str_to_gui -from gui.uf_pages import relax_data, sequence, value from gui.wizard import Wiz_window @@ -73,9 +72,7 @@ data_path = status.install_path + sep + 'test_suite' + sep + 'shared_data' + sep + 'model_free' + sep + 'sphere' + sep # Load the sequence. - seq_read = sequence.Read_page(wizard) - seq_read.file.SetValue(str_to_gui(data_path + 'noe.500.out')) - seq_read.on_execute() + self.execute_uf(uf_name='sequence.read', file=data_path+'noe.500.out') # Load the relaxation data. data = [ @@ -87,23 +84,13 @@ ['r2.900.out', 'r2_900', 'R2', 900e6] ] for i in range(len(data)): - relax_data_read = relax_data.Read_page(wizard) - relax_data_read.file.SetValue(str_to_gui(data_path + data[i][0])) - relax_data_read.ri_id.SetValue(str_to_gui(data[i][1])) - relax_data_read.ri_type.SetValue(str_to_gui(data[i][2])) - relax_data_read.frq.SetValue(float_to_gui(data[i][3])) - relax_data_read.on_execute() + self.execute_uf(uf_name='relax_data.read', file=data_path+data[i][0], ri_id=data[i][1], ri_type=data[i][2], frq=data[i][3]) # Set the values. - value_set = value.Set_page(wizard) - value_set.set_param('csa') - value_set.on_execute() - value_set.set_param('r') - value_set.on_execute() - value_set.set_param('heteronuc_type') - value_set.on_execute() - value_set.set_param('proton_type') - value_set.on_execute() + self.execute_uf(uf_name='value.set', param='csa') + self.execute_uf(uf_name='value.set', param='r') + self.execute_uf(uf_name='value.set', param='heteronuc_type') + self.execute_uf(uf_name='value.set', param='proton_type') # The unit vector loading wizard. analysis.load_unit_vectors(None) Modified: branches/uf_redesign/test_suite/gui_tests/noe.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/test_suite/gui_tests/noe.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/test_suite/gui_tests/noe.py (original) +++ branches/uf_redesign/test_suite/gui_tests/noe.py Sun May 13 15:29:08 2012 @@ -34,7 +34,6 @@ # relax GUI imports. from gui.interpreter import Interpreter; interpreter = Interpreter() from gui.misc import int_to_gui, str_to_gui -from gui.uf_pages import deselect, sequence, spin from gui.wizard import Wiz_window @@ -73,26 +72,14 @@ analysis.field_results_dir.SetValue(str_to_gui(ds.tmpdir)) # Load the sequence. - wizard = Wiz_window(self.app.gui) - seq_read = sequence.Read_page(wizard) file = status.install_path + sep + 'test_suite' + sep + 'shared_data' + sep + 'Ap4Aase.seq' - seq_read.file.SetValue(str_to_gui(file)) - seq_read.mol_name_col.SetValue(int_to_gui(None)) - seq_read.res_name_col.SetValue(int_to_gui(2)) - seq_read.res_num_col.SetValue(int_to_gui(1)) - seq_read.spin_name_col.SetValue(int_to_gui(None)) - seq_read.spin_num_col.SetValue(int_to_gui(None)) - seq_read.on_execute() + self.execute_uf(uf_name='sequence.read', file=file, mol_name_col=None, res_name_col=2, res_num_col=1, spin_name_col=None, spin_num_col=None) # Unresolved spins. - deselect_spin = deselect.Spin_page(wizard) - deselect_spin.spin_id.SetValue(str_to_gui(":3")) - deselect_spin.on_execute() + self.execute_uf(uf_name='deselect.spin', spin_id=":3") # Name the spins. - page = spin.Name_page(wizard) - page.name.SetValue(str_to_gui('N')) - page.on_execute() + self.execute_uf(uf_name='spin.name', name="N") # Flush the interpreter in preparation for the synchronous user functions of the peak list wizard. interpreter.flush() Modified: branches/uf_redesign/test_suite/gui_tests/rx.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/test_suite/gui_tests/rx.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/test_suite/gui_tests/rx.py (original) +++ branches/uf_redesign/test_suite/gui_tests/rx.py Sun May 13 15:29:08 2012 @@ -34,7 +34,6 @@ # relax GUI imports. from gui.interpreter import Interpreter; interpreter = Interpreter() from gui.misc import bool_to_gui, float_to_gui, int_to_gui, float_to_gui, str_to_gui -from gui.uf_pages import deselect, sequence, spin from gui.wizard import Wiz_window @@ -112,32 +111,14 @@ analysis.field_results_dir.SetValue(str_to_gui(ds.tmpdir)) # Load the sequence. - wizard = Wiz_window(self.app.gui) - seq_read = sequence.Read_page(wizard) file = status.install_path + sep + 'test_suite' + sep + 'shared_data' + sep + 'Ap4Aase.seq' - seq_read.file.SetValue(str_to_gui(file)) - seq_read.mol_name_col.SetValue(int_to_gui(None)) - seq_read.res_name_col.SetValue(int_to_gui(2)) - seq_read.res_num_col.SetValue(int_to_gui(1)) - seq_read.spin_name_col.SetValue(int_to_gui(None)) - seq_read.spin_num_col.SetValue(int_to_gui(None)) - seq_read.on_execute() + self.execute_uf(uf_name='sequence.read', file=file, mol_name_col=None, res_name_col=2, res_num_col=1, spin_name_col=None, spin_num_col=None) # Unresolved spins. - deselect_read = deselect.Read_page(wizard) - deselect_read.file.SetValue(str_to_gui(data_path + 'unresolved')) - deselect_read.mol_name_col.SetValue(int_to_gui(None)) - deselect_read.res_name_col.SetValue(int_to_gui(None)) - deselect_read.res_num_col.SetValue(int_to_gui(1)) - deselect_read.spin_name_col.SetValue(int_to_gui(None)) - deselect_read.spin_num_col.SetValue(int_to_gui(None)) - deselect_read.change_all.SetValue(bool_to_gui(True)) - deselect_read.on_execute() + self.execute_uf(uf_name='deselect.read', file=data_path+'unresolved', mol_name_col=None, res_name_col=None, res_num_col=1, spin_name_col=None, spin_num_col=None, change_all=True) # Name the spins. - page = spin.Name_page(wizard) - page.name.SetValue(str_to_gui('N')) - page.on_execute() + self.execute_uf(uf_name='spin.name', name='N') # Flush the interpreter in preparation for the synchronous user functions of the peak list wizard. interpreter.flush() Modified: branches/uf_redesign/test_suite/gui_tests/state.py URL: http://svn.gna.org/viewcvs/relax/branches/uf_redesign/test_suite/gui_tests/state.py?rev=16279&r1=16278&r2=16279&view=diff ============================================================================== --- branches/uf_redesign/test_suite/gui_tests/state.py (original) +++ branches/uf_redesign/test_suite/gui_tests/state.py Sun May 13 15:29:08 2012 @@ -1,6 +1,6 @@ ############################################################################### # # -# Copyright (C) 2006-2011 Edward d'Auvergne # +# Copyright (C) 2006-2012 Edward d'Auvergne # # # # This file is part of the program relax. # # # @@ -33,7 +33,6 @@ # relax GUI imports. from gui.misc import int_to_gui, str_to_gui -from gui.uf_pages import deselect, sequence, spin from gui.wizard import Wiz_window