Linking EventHandler to a Control Object
- To: mathgroup at smc.vnet.net
- Subject: [mg88701] Linking EventHandler to a Control Object
- From: Todd Allen <genesplicer28 at yahoo.com>
- Date: Tue, 13 May 2008 07:09:24 -0400 (EDT)
Hi folks,
Have any of you tried to use the new
(V6)EventHandler command to excute a series of actions
based on input to a control object such as SetterBar?
I have had success getting Mathematica to update a
displayed list every time the displayed list is
clicked on, but not when I want a control object to be
clicked on to update the displayed list.
Probably an example would help clarify:
Example 1: WORKS on my computer
test1 = {"Phe", "Ser", "Leu", "Ser",
"Val"}; color = Black; trak = "Ser";
EventHandler[
Dynamic[test1], {"MouseClicked" :> (color =
color /. {Black -> Red, Red -> Green, Green ->
Black};
temp1 = Position[test1, trak];
test1 = ReplacePart[test1, temp1 -> Style[trak,
color]];)}]
Example 2: Does NOT work
trak2 = SetterBar[
Evaluate[Dynamic[trak2]], {"Phe" -> "Phe", "Ser" ->
"Ser",
"Leu" -> "Leu", "Val" -> "Val"}]
test2 = {"Phe", "Ser", "Leu", "Ser", "Val"}; color =
Black;
EventHandler[{Dynamic[trak2],
Dynamic[test2]}, {"MouseClicked" :> (color =
color /. {Black -> Red, Red -> Green, Green ->
Black};
temp2 = Position[test2, trak2];
test2 = ReplacePart[test2, temp2 -> Style[trak2,
color]]; test2)}]
Notice how the SetterBar in example 2 is updated, but
the corresponding list that should be updated is not.
Its as though the EventHandler command is actually not
"seeing" the mouse click.
Would you have any thoughts on how to link the input
at the control object to the desired response of
updating a displayed list?
Thanks for any advice you might have!
Todd
____________________________________________________________________________________
Be a better friend, newshound, and
know-it-all with Yahoo! Mobile. Try it now. http://mobile.yahoo.com/;_ylt=Ahu06i62sR8HDtDypao8Wcj9tAcJ