Mercurial > hg > aimmat
view aim-mat/tools/slidercontrols/slidereditcontrol_set_range.m @ 0:74dedb26614d
Initial checkin of AIM-MAT version 1.5 (6.4.2011).
author | tomwalters |
---|---|
date | Fri, 20 May 2011 12:32:31 +0100 |
parents | |
children | 20ada0af3d7d |
line wrap: on
line source
% tool % % INPUT VALUES: % % RETURN VALUE: % % % (c) 2003, University of Cambridge, Medical Research Council % Stefan Bleeck (stefan@bleeck.de) % http://www.mrc-cbu.cam.ac.uk/cnbh/aimmanual % $Date: 2003/03/03 19:50:26 $ % $Revision: 1.6 $ function combi=slidereditcontrol_set_range(combi,duration) % sets the range and the step size, so that the width of the slider is OK % a slidereditcontrol consists of a slider and an edit object, that are % related. When one value changes, the other also changes. % The combination has the following variables: % sliderhandle - the handle of the slider control % edithandle - the handle of the edit control % minvalue - the minimum value allowed % maxvalue - the maximum allowed value % (current_value - the current value) % is_log - whether the slider reponds logarithmically % editscaler - a number, that is multiplied to the edit control (to make ms of secs) % nreditdigits - the number of digits in the edit control % works only for linear sliders (yet) if combi.is_log==1 set(combi.sliderhandle,'SliderStep',[0.01 0.1]); else dur=combi.maxvalue-combi.minvalue; % so long is it indeed if abs(dur-duration)>0 step1=duration/abs(dur-duration); % step1=duration/dur; if abs(dur) > 0 step2=duration/dur/10; step1=max(0,step1); step1=min(1,step1); step2=max(0,step2); step2=min(1,step2); set(combi.sliderhandle,'SliderStep',[step2 step1]); return end end step1=1; step2=1; set(combi.sliderhandle,'SliderStep',[step2 step1]); end