Re: Manipulate suggestions
- To: mathgroup at smc.vnet.net
- Subject: [mg101312] Re: [mg101282] Manipulate suggestions
- From: "David Park" <djmpark at comcast.net>
- Date: Wed, 1 Jul 2009 06:32:59 -0400 (EDT)
- References: <4321831.1246360824051.JavaMail.root@n11>
Tony, I think you are correct that the StepLeft and StepRight Buttons should FIRST put the animation into a pause state. There is another problem with AppearanceElements in Animator. That is that the elements always appear in a fixed order - no matter what order they are specified in the list of elements. It would be really nice if the user could control the order. However, it is always possible to make a custom dynamic presentation, and much more fun because you don't have to waste your time trying to figure out how you can screw around Manipulate to your liking. One of the principles to remember is that we can have multiple controls that control the SAME variable. So we just write multiple Animators, each with their own AppearanceElements, and an InputField, all controlling n. DynamicModule[ {n = 2}, Panel[ Column[ {Row[{Animator[Dynamic[n], {1, 5}, AnimationRunning -> False, AnimationRate -> 4/5, Appearance -> Small, AppearanceElements -> "PlayPauseButton"], Animator[Dynamic[n], {1, 5}, AnimationRunning -> False, AnimationRate -> 4/5, Appearance -> Tiny, AppearanceElements -> "ProgressSlider", ImageSize -> Tiny], Animator[Dynamic[n], {1, 5}, AnimationRunning -> False, AnimationRate -> 4/5, Appearance -> Small, AppearanceElements -> {"StepLeftButton", "StepRightButton"}], Spacer[5], "Enter n:", Spacer[5], InputField[Dynamic[n], FieldSize -> {4, 1}] }] (* Animator Row *), Dynamic@Plot[x^n, {x, 0, 1}, PlotRange -> {0, 1}, ImageSize -> 300] }](* Column *), Style["Custom Dynamic Presentation for AES", 16], BaseStyle -> {FontSize -> 16}] ] David Park djmpark at comcast.net http://home.comcast.net/~djmpark/ From: AES [mailto:siegman at stanford.edu] Now that I've finally gotten around to learning and using Manipulate (admittedly late to the table), I have to agree that it truly does deserve the Steve Jobs/Apple appellation, "Insanely great". But, a few minor gripes/suggestions: 1) Executing Manipulate[ Plot[x^n, {x, 0, 1}], {{n,2}, 1, 5, Animator}] without the "Animator" and then clicking the inverted "+" icon gives me the icon control buttons and the numeric value/data entry box (which is very valuable). Adding the "Animator" as above auto-opens the icon control buttons, but not the numeric field. Why not? (That is, is there a good and necessaru reason it doesn't) Is there a way to build an automated "Auto-click the inverted + button for me" into the Manipulate command? 2) Does anyone else agree with me that "-" and "+" single-step buttons should be side by side (just like the Slow/Fast vertical double arrows), with the Start/Stop button either at the very left end, or over just to the left of the Slow/Fast arrows)? Trivial point, perhaps, but seems like a more natural ordering. 3) And would anyone else agree that the default action if you click the single-step buttons while an animation is running should be to _stop_ the animation, and wait for further single steps (and let you click the Start arrow when you're ready to re-start). Seems to me this is the way many if not most other video and movie apps work -- and the natural way that a user would want it to work. (Otherwise, what would be the point of clicking the single step buttons during a running animation?) 4) Any simple way -- repeat, simple! -- to link the single step buttons to Left and Right (or Up/Down) Arrow keys on your keyboard. (Should that maybe be the built-in default? Doesn't nearly every keyboard have arrow keys?) Anyway, despite my other continuing critiques of Mathematica, Manipulate is a great concept, very neatly executed, and a real credit to the Wolfram team.