Mercurial > hg > aimmat
view aim-mat/tools/slidercontrols/slidereditcontrol_set_raweditvalue.m @ 4:537f939baef0 tip
various bug fixes and changed copyright message
author | Stefan Bleeck <bleeck@gmail.com> |
---|---|
date | Tue, 16 Aug 2011 14:37:17 +0100 |
parents | 20ada0af3d7d |
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_raweditvalue(combi,value) % set the edit value eg. by typing a text in the edit control % 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 % the slider gets the raw value back: if ~isempty(value) set(combi.edithandle,'String',num2str(value)); else % set back to old value set(combi.edithandle,'String',num2str(combi.current_value*combi.editscaler)); return end % the real value must be translated realval=value/combi.editscaler; realval=max(realval,combi.minvalue); realval=min(realval,combi.maxvalue); if combi.is_log==1 sliderval=f2f(realval,combi.minvalue,combi.maxvalue,0,1,'loglin'); else sliderval=f2f(realval,combi.minvalue,combi.maxvalue,0,1,'linlin'); end sliderval=min(1,sliderval); sliderval=max(0,sliderval); set(combi.sliderhandle,'Value',sliderval); val=realval*combi.editscaler; editval=fround(val,combi.nreditdigits); set(combi.edithandle,'String',num2str(editval)); combi.current_value=realval;