The Math Forum

Search All of the Math Forum:

Views expressed in these public forums are not endorsed by NCTM or The Math Forum.

Math Forum » Discussions » Inactive » comp.soft-sys.math.mathematica

Notice: We are no longer accepting new posts, but the forums will continue to be readable.

Topic: Help with dynamic functionality
Replies: 2   Last Post: Dec 3, 2012 3:18 AM

Advanced Search

Back to Topic List Back to Topic List Jump to Tree View Jump to Tree View   Messages: [ Previous | Next ]
Simons, F.H.

Posts: 107
Registered: 12/7/04
Re: Help with dynamic functionality
Posted: Dec 3, 2012 3:18 AM
  Click to see the message monospaced in plain text Plain Text   Click to reply to this topic Reply

A further simplication shows wat is going on and how to achieve what you
are looking for:

Grid[{{Checkbox[Dynamic[y]], Dynamic[y]},
{Dynamic[x], Slider[Dynamic[x, (x = If[y, #, 0]) &]]}}]

Check the checkbox and move the slider. Then uncheck the checkbox. That
changes the value of y, so the updating mechanism starts. For updating
the the slider, the frontend asks the kernel to evaluate the first
argument, that is in this case x only, which as not changed. If you
want that unchecking the box has an effect on the slider, the first
argument of the slider must depend on the variable y as well, e.g.

{Checkbox[Dynamic[y]], Dynamic[y],
Slider[Dynamic[If[y, x, 0], (x = #) &]], Dynamic[x]}

Observe that the last Dynamic[x] shows that even when the the checkbox
is unchecked, assignments to x are done when the slider is used. To
prevent that, instead of (x=#)& you can use If[y, x=#]&.

Fred Simons
Eindhoven University of Technology

Op 28-11-2012 9:17, schreef:
> My actual problem is quite involved but I am including a simple example for
> illustrative purposes. I am trying to reproduce "Enabled"-like functionality as follows:
> Clear[y, SliderModule];
> SetAttributes[SliderModule, HoldAll];
> SliderModule[enabled_] :=
> DynamicModule[{x = 0}, {Slider[
> Dynamic[x, (x = If[enabled, #, 0]) &]], Dynamic[x]}]
> {Checkbox[Dynamic[y]], Dynamic[y], SliderModule[y]}
> Ideally when the checkbox is checked then the user is able to move the slider; but when it is unchecked the slider resets to zero. The problem is when I uncheck the checkbox the slider doesn't reset to zero until I click on the slider itself. Is there a way to get the slider to immediately reset when I uncheck the checkbox? Please remember that this is a simplification of my actual problem so try to keep the SliderModule structure the same.
> Cheers,
> Sam
> -----
> Geen virus gevonden in dit bericht.
> Gecontroleerd door AVG -
> Versie: 2013.0.2793 / Virusdatabase: 2629/5920 - datum van uitgifte: 11/26/12

Point your RSS reader here for a feed of the latest messages in this topic.

[Privacy Policy] [Terms of Use]

© The Math Forum at NCTM 1994-2018. All Rights Reserved.