Mercurial > hg > aimmat
view aim-mat/tools/slidercontrols/slidereditcontrol_set_range.m @ 3:20ada0af3d7d
various bugfixes and changed copywrite message
author | Stefan Bleeck <bleeck@gmail.com> |
---|---|
date | Tue, 16 Aug 2011 14:36:30 +0100 |
parents | 74dedb26614d |
children |
line wrap: on
line source
% tool % % INPUT VALUES: % % RETURN VALUE: % % % This external file is included as part of the 'aim-mat' distribution package % (c) 2011, University of Southampton % Maintained by Stefan Bleeck (bleeck@gmail.com) % download of current version is on the soundsoftware site: % http://code.soundsoftware.ac.uk/projects/aimmat % documentation and everything is on http://www.acousticscale.org 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