Re: Dynamic GUI problems
- To: mathgroup at smc.vnet.net
- Subject: [mg89385] Re: Dynamic GUI problems
- From: David Bailey <dave at Remove_Thisdbailey.co.uk>
- Date: Sun, 8 Jun 2008 02:30:35 -0400 (EDT)
- References: <g2dbji$9ks$1@smc.vnet.net>
zac wrote: > Dear Group, > > building a GUI is highly non-intuitive for me, although I almost felt > I understand the behaviour of dynamic interactivity. > > I. Problem - Master swich does not control semi-independent sub- > switches > This is the classic "set all/none switch" situation, with allowing the > sub-switches to be set by the user individually. Switching the > checkbox works, but hitting the buttons won't update checkboxes. > > master = False; > def = {False, True}; > > {Button["All", master = All], Button["None", master = None]} > {Dynamic[master], Dynamic[sub1], Dynamic[sub2]} > {sub1, sub2} = > Table[DynamicModule[{i = i}, > Switch[master, All, True, None, False, _, def[[i]]]], {i, 2}]; > {Checkbox[Dynamic[sub1]], Checkbox[Dynamic[sub2]]} > > > II. Problem - Checkbox in label of TabView does not work > > TabView[{ > Checkbox[Dynamic[x]] -> Dynamic[x], > "..." -> "" > }] > > > Any ideas how to solve them? > > Istvan Zachar > The first problem is that the expressions for sub1 and sub2 do not contain the Dynamic wrapper. The easiest way is to code the two separately: master = False; def = {False, True}; {Button["All", master = All], Button["None", master = None]} {Dynamic[master], Dynamic[sub1], Dynamic[sub2]} sub1 = Dynamic[Switch[master, All, True, None, False, _, def[[1]]]]; sub2 = Dynamic[Switch[master, All, True, None, False, _, def[[2]]]]; {Checkbox[Dynamic[sub1]], Checkbox[Dynamic[sub2]]} In the second problem, you are trying to put a checkbox into the label of a tabview. This would be a very unusual thing to do in a GUI - you really need a name or an image there - and probably has never been designed to work. David Bailey http://www.dbaileyconsultancy.co.uk