On Nov 18, 2010, at 6:10 PM, RSGames Support wrote:

> Okay. Well that's not so great - these TextEntryDialogs are quite important 
> to the program. Anyway on Windows and Linux, ShowModal() seems to work really 
> well with wxreactor, and it is only Mac OS X that is the problem.

The key word here is "seems".  You will get weird errors on those platforms 
eventually, you just haven't yet.

Anyway, it's fine to use dialogs with Twisted.  The issue is APIs like 
ShowModal(), which expect to be able to block.  Instead you should be using 
Show(), and make your own API that returns a Deferred from your dialog.

Other toolkits allow you to show a modal dialog without blocking your whole 
program: for example, with GTK, you can pass the gtk.DIALOG_MODAL flag to 
gtk.Dialog, and then simply call gtk.Dialog.show_all() instead of 
gtk.Dialog.run().  wxwindows appears to incorrectly conflate the idea of a 
modal dialog with a particular type of control flow.

(In my personal opinion, modal dialogs are terrible UI anyway, and should be 
avoided.  You should be able to prompt the user without interrupting everything 
else they're doing in the program.)


_______________________________________________
Twisted-Python mailing list
Twisted-Python@twistedmatrix.com
http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python

Reply via email to