MathGroup Archive 2010

[Date Index] [Thread Index] [Author Index]

Search the Archive

Problems with ChoiceDialog inside a Dynamic: Bug or not (well) documented limitation?

  • To: mathgroup at smc.vnet.net
  • Subject: [mg107725] Problems with ChoiceDialog inside a Dynamic: Bug or not (well) documented limitation?
  • From: Guido Tripaldi <guido at gtripaldi.it>
  • Date: Thu, 25 Feb 2010 01:49:43 -0500 (EST)

Hi Group,
suppose you wanna to display an alert to the user before to continue the 
execution of your code when some conditions occur : probably you'll use 
ChoiceDialog[], the useful function that "puts up a standard choice 
dialog that displays  expr together with OK and Cancel buttons, and 
returns  True if OK is clicked, and  False if Cancel is clicked.".

But if you use this function inside some Dynamic[] object, it hangs the 
kernel. I've tried to find in the documentation some references to this 
bad combination without any luck, so I don't understand if this is a bug 
or there is something missing in the code.

To better explain the problem here is a very basic example:

(* just a silly example *)
Grid[{
  {"Choose a dividend: ",
   PopupMenu[Dynamic[dividend], Table[i, {i, 0, 10}]]},
  {"Choose a divisor : ", PopupMenu[Dynamic[divisor], Table[i, {i, 0, 10}]]},
  {"Quotient: ", Dynamic[dividend / divisor]}
  }, Frame -> All]
Dynamic[
If[divisor == 0,
   ChoiceDialog["Uh-oh, you are going to do a division by zero! Please select a different divisor.", {"Ok"}];
]];

Instead, if you use the MessageDialog[] function to show a message window, all works well, but of course the execution will continue without waiting for the user action (that is not what I want).

Same situation if you try to use ChoiceDialog[] inside a TabView, or other kind of Views:

(* another silly example *)
TabView[{
  "Tab1" -> Button["Show ChoiceDialog", result = ChoiceDialog["This hangs.. :-(."];],
  "Tab2" -> Button["Show MessageDialog", MessageDialog["This works!"];]
  }]


Any suggestion?
thanks!
   G

ps
M7.0.1.0 on Mac Snow 10.6.2

---
Guido Tripaldi




  • Prev by Date: Solved: ? about MatrixPlot used with ListPlot
  • Next by Date: Re: Re: does it make sense ? Provisio,
  • Previous by thread: Solved: ? about MatrixPlot used with ListPlot
  • Next by thread: Re: Problems with ChoiceDialog inside a Dynamic: Bug or