Mathematica 9 is now available
Services & Resources / Wolfram Forums / MathGroup Archive
-----

MathGroup Archive 2009

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

Search the Archive

Re: How to find which variable caused the trigger in Manipulate[]

  • To: mathgroup at smc.vnet.net
  • Subject: [mg103824] Re: How to find which variable caused the trigger in Manipulate[]
  • From: "Nasser Abbasi" <nma at 12000.org>
  • Date: Thu, 8 Oct 2009 07:50:18 -0400 (EDT)

"Nasser Abbasi" <nma at 12000.org> wrote in message news:...

>
> Here is what I tried so far, and this fail:
>
> Manipulate[
>   Which[
>
>   x != oldx,
>   {oldx = x; Text[StringJoin["you moved the ", "x ",  " slider"]]},
>
>   y != oldy,
>   {oldy = y; Text[StringJoin["you moved the ", "y ", " slider"]]},
>
>   True, Text["why Ami here??"]
>  ],
>
>  {x, 0, 1},
>  {y, 0, 1},
>  {oldx, -999,  ControlType -> None},
>  {oldy, -999,  ControlType -> None}
> ]
>

As always seem to happen, after I posted the above, I find a solution.  All 
what I have to do is track the correct symbols.

Here is the solution

Manipulate[

  Which[

  x != oldx,
   {oldx = x; Text[StringJoin["you moved the ", "x ", " slider"]]},

  y != oldy,
  {oldy = y; Text[StringJoin["you moved the ", "y ", " slider"]]},

   True, Text["why Ami here??"]
],

{x, 0, 1},
{y, 0, 1},
{oldx, -999, ControlType -> None},
{oldy, -999, ControlType -> None},

TrackedSymbols -> {x, y}  (*this is the trick*)
]

By telling Mathematica to only track x and y and not oldx and oldy, I get 
what I want !

--Nasser 



  • Prev by Date: Generating a finite sigma-algebra
  • Next by Date: AxesLabel from expression
  • Previous by thread: Re: How to find which variable caused the trigger in Manipulate[]
  • Next by thread: Re: How to find which variable caused the trigger in Manipulate[]