Re: Dynamic GUI problems
- To: mathgroup at smc.vnet.net
- Subject: [mg89428] Re: Dynamic GUI problems
- From: m.r at inbox.ru
- Date: Mon, 9 Jun 2008 02:29:29 -0400 (EDT)
- References: <g2dbji$9ks$1@smc.vnet.net>
On Jun 7, 1:58 am, zac <replicator... at gmail.com> 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 You can define the button control functions to reset all the switches; at least I don't see how it can be done simpler: {Button["All", sub1 = sub2 = True], Button["None", sub1 = sub2 = False]} Checkbox /@ {Dynamic@ sub1, Dynamic@ sub2} I think what happens with the checkbox inside the tab is that a mouse click is intercepted by the tab and there's no way to pass it down to the checkbox. You can have the checkbox argument update in sync with the TabView control though: TabView[{Checkbox[Dynamic[x == 1]] -> 1, Checkbox[Dynamic[x == 2]] -> 2}, Dynamic[x]] Maxim Rytin m.r at inbox.ru