Author: bugman Date: Wed Sep 21 17:23:26 2011 New Revision: 14738 URL: http://svn.gna.org/viewcvs/relax?rev=14738&view=rev Log: The main window toolbar icons are now being partly disabled with the execution lock. Modified: 1.3/gui/relax_gui.py Modified: 1.3/gui/relax_gui.py URL: http://svn.gna.org/viewcvs/relax/1.3/gui/relax_gui.py?rev=14738&r1=14737&r2=14738&view=diff ============================================================================== --- 1.3/gui/relax_gui.py (original) +++ 1.3/gui/relax_gui.py Wed Sep 21 17:23:26 2011 @@ -151,6 +151,7 @@ # Register functions with the observer objects. status.observers.pipe_alteration.register('status bar', self.update_status_bar) status.observers.result_file.register('gui', self.show_results_viewer_no_warn) + status.observers.exec_lock.register('gui', self.enable) # Run a script. if script: @@ -292,6 +293,23 @@ def contact_relax(self, event): """Write an email to the relax mailing-list using the standard mailing program.""" webbrowser.open_new('mailto:relax-users@xxxxxxx') + + + def enable(self): + """Enable and disable certain parts of the main window with the execution lock.""" + + # Flag for enabling or disabling the elements. + enable = False + if not status.exec_lock.locked(): + enable = True + + # The toolbar. + wx.CallAfter(self.toolbar.EnableTool, self.TB_FILE_NEW, enable) + wx.CallAfter(self.toolbar.EnableTool, self.TB_FILE_CLOSE, enable) + wx.CallAfter(self.toolbar.EnableTool, self.TB_FILE_CLOSE_ALL, enable) + wx.CallAfter(self.toolbar.EnableTool, self.TB_FILE_OPEN, enable) + wx.CallAfter(self.toolbar.EnableTool, self.TB_FILE_SAVE, enable) + wx.CallAfter(self.toolbar.EnableTool, self.TB_FILE_SAVE_AS, enable) def exit_gui(self, event=None):