MathGroup Archive 2010

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

Search the Archive

Re: Initialization problem in a DynamicModule

  • To: mathgroup at smc.vnet.net
  • Subject: [mg106641] Re: [mg106634] Initialization problem in a DynamicModule
  • From: "David Park" <djmpark at comcast.net>
  • Date: Wed, 20 Jan 2010 06:46:12 -0500 (EST)
  • References: <26704795.1263897475726.JavaMail.root@n11>

Does this work for you:

Panel@DynamicModule[
  {x = True, y, assign},
 
  Attributes[assign] = HoldAll;
  assign[x_, y_] := y = x;
  assign[x, y];
 
  Grid[{{"", "A", "B"},
    {"w/ assign:",
     RadioButton[Dynamic[x, (x = #; assign[x, y]) &], True],
     RadioButton[Dynamic[x, (x = #; assign[x, y]) &], False]},
    {"w/o assign:",
     RadioButton[Dynamic@x, True],
     RadioButton[Dynamic@x, False]},
    {"value:", Dynamic@x}},
   Dividers -> {False, {False, True, True, True, False}},
   Alignment -> {Left, {Center}}]] 


David Park
djmpark at comcast.net
http://home.comcast.net/~djmpark/ 



From: Istv=E1n [mailto:replicatorzed at gmail.com]

Dear Group,

I have some problem with a complex interface inside a DynamicModule.
This is a toy version of the program, which can fully reproduce the
malfunction:

Panel@DynamicModule[
  {x, y, assign, initialize},

  Grid[{
    {"", "A", "B"},
    {"w/ assign:", RadioButton[Dynamic[x, (x = #; assign) &], True],
     RadioButton[Dynamic[x, (x = #; assign) &], False]},
    {"w/o assign:", RadioButton[Dynamic@x, True],
     RadioButton[Dynamic@x, False]},
    {"value:", Dynamic@x}
    }, Dividers -> {False, {False, True, True, True, False}},
   Alignment -> {Left, {Center}}],

  Initialization :> (
    assign := (y = x);(* further variables to update *)
    initialize := (x = True; assign); (* initialization function *)
    initialize;
    )
  ]

Now for some reason, the radiobuttons do not function as intended (at
least as I want).
The following clicking orders do not work:

[w/ + B] then [w/ + A]
[w/o + B] then [w/ + A]

these work correctly:

[w/ + B] then [w/o + A]
[w/o + B] then [w/o + A]

I guess, that the problem is with the "initialize" (or the "assign")
function. Any idea?
Thanks in advance

Istv=E1n




  • Prev by Date: Re: Contour plot with color scale
  • Next by Date: simple nest
  • Previous by thread: Re: Re: Initialization problem in a
  • Next by thread: Re: Initialization problem in a DynamicModule