Author: bugman Date: Wed Aug 10 18:25:44 2011 New Revision: 14316 URL: http://svn.gna.org/viewcvs/relax?rev=14316&view=rev Log: Redesigned how user functions are executed in the GUI so they are queued and launched in a thread. This allows the GUI to be responsive while the user functions execute. This is only at the level of the GUI and not the relax interpreter. The execution lock is also acquired to lock up the GUI while the user function executes. A special daemon thread called self.gui.interpreter has a queue object so that a series of user functions can be queued up if needed. The program now also exists with wx.Exit() call to prevent unhandled exceptions occurring in this daemon thread. Added: branches/gui_testing/gui/interpreter.py Modified: branches/gui_testing/gui/__init__.py branches/gui_testing/gui/relax_gui.py branches/gui_testing/gui/user_functions/base.py branches/gui_testing/gui/user_functions/deselect.py branches/gui_testing/gui/user_functions/grace.py branches/gui_testing/gui/user_functions/molecule.py branches/gui_testing/gui/user_functions/molmol.py branches/gui_testing/gui/user_functions/noe.py branches/gui_testing/gui/user_functions/pipe.py branches/gui_testing/gui/user_functions/relax_data.py branches/gui_testing/gui/user_functions/relax_fit.py branches/gui_testing/gui/user_functions/residue.py branches/gui_testing/gui/user_functions/results.py branches/gui_testing/gui/user_functions/script.py branches/gui_testing/gui/user_functions/select.py branches/gui_testing/gui/user_functions/sequence.py branches/gui_testing/gui/user_functions/spectrum.py branches/gui_testing/gui/user_functions/spin.py branches/gui_testing/gui/user_functions/structure.py branches/gui_testing/gui/user_functions/value.py [This mail would be too long, it was shortened to contain the URLs only.] Modified: branches/gui_testing/gui/__init__.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/__init__.py?rev=14316&r1=14315&r2=14316&view=diff Added: branches/gui_testing/gui/interpreter.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/interpreter.py?rev=14316&view=auto Modified: branches/gui_testing/gui/relax_gui.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/relax_gui.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/base.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/base.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/deselect.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/deselect.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/grace.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/grace.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/molecule.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/molecule.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/molmol.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/molmol.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/noe.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/noe.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/pipe.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/pipe.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/relax_data.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/relax_data.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/relax_fit.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/relax_fit.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/residue.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/residue.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/results.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/results.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/script.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/script.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/select.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/select.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/sequence.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/sequence.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/spectrum.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/spectrum.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/spin.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/spin.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/structure.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/structure.py?rev=14316&r1=14315&r2=14316&view=diff Modified: branches/gui_testing/gui/user_functions/value.py URL: http://svn.gna.org/viewcvs/relax/branches/gui_testing/gui/user_functions/value.py?rev=14316&r1=14315&r2=14316&view=diff