Re: Dynamic GUI problem II.
- To: mathgroup at smc.vnet.net
- Subject: [mg89508] Re: Dynamic GUI problem II.
- From: dh <dh at metrohm.ch>
- Date: Wed, 11 Jun 2008 03:18:55 -0400 (EDT)
- References: <g2fub0$2fs$1@smc.vnet.net> <g2j0ab$558$1@smc.vnet.net> <g2lbf9$9aq$1@smc.vnet.net>
Hi,
hope you come not back with an even trickier problem. Anyway, during
playing around I got the impression that Dynamic still has some
problems. Here is one way of doing what you want:
fun[n0_]:=DynamicModule[{n=Round[n0],t,tt,vars},
vars=Table[Dynamic@Evaluate@Unique[],{n}];
t=(Slider[#])&/@vars;
(Evaluate[#[[1]]]=0.5)&/@vars;
Column[{t,vars}]//Print;
];
n=.;
Slider[Dynamic[n,{(n=#;fun[n])&}],{1,5}]
hope this helps, Daniel
zac wrote:
> Thank you for the reply, it partly solves my problem, but what if I
> want to control the length of the array 'vars' as well with a slider?
> Here is my proposed - not working - layout, based on your code:
>
> Remove[vars, a, x, v, n];
> {Slider[Dynamic[n], {1, 5, 1}], Dynamic[n]}
> a = Table[RandomReal[], {n}]
> vars = Dynamic /@ Array[v, {n}];
> x = (Slider[#, ImageSize -> 50] & /@ vars)
> MapThread[Set[Evaluate[#1[[1]]], #2] &, {vars, a}];
> vars
>
> Clearly the problem starts when variables 'a' and 'vars' do not update
> with the change of n. Of course, if I wrap the Table[...] and Array[]
> expressions into Dynamics, MapThread won't recognize them as lists. Is
> there any way to define 'n' as an always-dynamic-variable (other than
> incorporating the whole thing into a Manipulate)?
> Any ideas?
>
> Istvan
>
--
Daniel Huber
Metrohm Ltd.
Oberdorfstr. 68
CH-9100 Herisau
Tel. +41 71 353 8585, Fax +41 71 353 8907
E-Mail:<mailto:dh at metrohm.com>
Internet:<http://www.metrohm.com>