Ouch, is this necessary?  Can the threading module be used instead?  A
kill button that instantly blows up the program is a bit dangerous.  I
thought that that was why the question dialog was introduced before
exiting.  The user will always have access to file->quit or the close
button in the top right hand corner.  I would suggest instead of
shifting all the cancel button code into its own method and then
commenting out the one line creating the button until we can properly
cancel a thread (note that the status object could be used here to
communicate with the other code that it should stop!).

Regards,

Edward


On 12 April 2010 06:43,  <[email protected]> wrote:
> Author: michaelbieri
> Date: Mon Apr 12 06:43:06 2010
> New Revision: 11067
>
> URL: http://svn.gna.org/viewcvs/relax?rev=11067&view=rev
> Log:
> The relaxGUI controller cancel button is replaced with a kill  button.
>
> As python does not allow to selectively kill running threads, a kill button 
> in the relaxGUI controller was introduced, which kills the program.
>
> Modified:
>    branches/bieri_gui/gui_bieri/controller.py
>
> Modified: branches/bieri_gui/gui_bieri/controller.py
> URL: 
> http://svn.gna.org/viewcvs/relax/branches/bieri_gui/gui_bieri/controller.py?rev=11067&r1=11066&r2=11067&view=diff
> ==============================================================================
> --- branches/bieri_gui/gui_bieri/controller.py (original)
> +++ branches/bieri_gui/gui_bieri/controller.py Mon Apr 12 06:43:06 2010
> @@ -61,7 +61,7 @@
>         self.progress_bar = wx.Gauge(self, -1, 100)
>
>         # buttons
> -        self.cancel_button = wx.Button(self, -1, "Cancel")
> +        self.cancel_button = wx.Button(self, -1, "Kill")
>         self.close_button = wx.Button(self, -1, "Close")
>
>         # Create Objects (see below)
> @@ -118,6 +118,8 @@
>         @type event:    wx event
>         """
>
> +        sys.exit(0)
> +
>         # Terminate the event.
>         event.Skip()
>
> @@ -178,14 +180,17 @@
>             wx.CallAfter(self.out.progress_bar.SetValue, 
> (100*no/total_models))
>
>         # Sphere to Ellipsoid Models.
> -        if self.status.dAuvergne_protocol.diff_model in ['sphere', 
> 'prolate', 'oblate', 'ellipsoid']:
> +        elif self.status.dAuvergne_protocol.diff_model in ['sphere', 
> 'prolate', 'oblate', 'ellipsoid']:
>             # Determine actual round (maximum is 20).
>             wx.CallAfter(self.out.progress_bar.SetValue, 
> (100*(self.status.dAuvergne_protocol.round-1)/20))
>
>         # Final analysis.
> -        if self.status.dAuvergne_protocol.diff_model == 'final':
> +        elif self.status.dAuvergne_protocol.diff_model == 'final':
>             mc_simulation = self.status.mc_number
>
> +        # Rx Analysis.
> +        else:
> +            print str(cdp.sim_number)
>
>         # Add new output.
>         wx.CallAfter(self.out.log_panel.AppendText, string)
>
>
> _______________________________________________
> relax (http://nmr-relax.com)
>
> This is the relax-commits mailing list
> [email protected]
>
> To unsubscribe from this list, get a password
> reminder, or change your subscription options,
> visit the list information page at
> https://mail.gna.org/listinfo/relax-commits
>

_______________________________________________
relax (http://nmr-relax.com)

This is the relax-devel mailing list
[email protected]

To unsubscribe from this list, get a password
reminder, or change your subscription options,
visit the list information page at
https://mail.gna.org/listinfo/relax-devel

Reply via email to