Re: RadioButton Question
- To: mathgroup at smc.vnet.net
- Subject: [mg91109] Re: RadioButton Question
- From: Albert Retey <awnl at gmx-topmail.de>
- Date: Wed, 6 Aug 2008 05:06:53 -0400 (EDT)
- References: <g791ks$9ot$1@smc.vnet.net>
Chris Degnen wrote: > Hi, Can anyone suggest how I can get some radio buttons to run > functions, rather than just set a variable? > > This is a statement to create two buttons that set a value:- > > RadioButtonBar[Dynamic[state], {"Existing", "New"}] > > > The following code runs functions, but also shows the buttons in a > list, along with some output. Any suggestions how I can achieve > this functionality but with only the buttons and labels showing, as > above? > > > dofunction1[] := x = 1; > > dofunction2[] := x = 2; > > Module[{state = "Existing"}, > {RadioButtonBar[Dynamic[state], {"Existing", "New"}], > Dynamic[If[state == "Existing", dofunction1[], dofunction2[]]]}] > This is what the second argument of Dynamic can be used for: DynamicModule[{state = "Existing"}, RadioButtonBar[ Dynamic[state, (If[# == "Existing", dofunction1[], dofunction2[]]; state = #) &], {"Existing", "New"} ]] I have also used DynamicModule instead of Module, which seems to make more sense in this case (Module will have finished when you see the output in the notebook, the local variable state will leak from that module as something like state$145 which usually does no harm but is not what Module is intended to do...) hth, albert