tomwalters@0
|
1 % tool
|
tomwalters@0
|
2 %
|
tomwalters@0
|
3 % INPUT VALUES:
|
tomwalters@0
|
4 %
|
tomwalters@0
|
5 % RETURN VALUE:
|
tomwalters@0
|
6 %
|
tomwalters@0
|
7 %
|
bleeck@3
|
8 % This external file is included as part of the 'aim-mat' distribution package
|
bleeck@3
|
9 % (c) 2011, University of Southampton
|
bleeck@3
|
10 % Maintained by Stefan Bleeck (bleeck@gmail.com)
|
bleeck@3
|
11 % download of current version is on the soundsoftware site:
|
bleeck@3
|
12 % http://code.soundsoftware.ac.uk/projects/aimmat
|
bleeck@3
|
13 % documentation and everything is on http://www.acousticscale.org
|
bleeck@3
|
14
|
tomwalters@0
|
15
|
tomwalters@0
|
16 function combi=slidereditcontrol_set_raweditvalue(combi,value)
|
tomwalters@0
|
17 % set the edit value eg. by typing a text in the edit control
|
tomwalters@0
|
18 % a slidereditcontrol consists of a slider and an edit object, that are
|
tomwalters@0
|
19 % related. When one value changes, the other also changes.
|
tomwalters@0
|
20 % The combination has the following variables:
|
tomwalters@0
|
21 % sliderhandle - the handle of the slider control
|
tomwalters@0
|
22 % edithandle - the handle of the edit control
|
tomwalters@0
|
23 % minvalue - the minimum value allowed
|
tomwalters@0
|
24 % maxvalue - the maximum allowed value
|
tomwalters@0
|
25 % (current_value - the current value)
|
tomwalters@0
|
26 % is_log - whether the slider reponds logarithmically
|
tomwalters@0
|
27 % editscaler - a number, that is multiplied to the edit control (to make ms of secs)
|
tomwalters@0
|
28 % nreditdigits - the number of digits in the edit control
|
tomwalters@0
|
29
|
tomwalters@0
|
30 % the slider gets the raw value back:
|
tomwalters@0
|
31 if ~isempty(value)
|
tomwalters@0
|
32 set(combi.edithandle,'String',num2str(value));
|
tomwalters@0
|
33 else % set back to old value
|
tomwalters@0
|
34 set(combi.edithandle,'String',num2str(combi.current_value*combi.editscaler));
|
tomwalters@0
|
35 return
|
tomwalters@0
|
36 end
|
tomwalters@0
|
37
|
tomwalters@0
|
38 % the real value must be translated
|
tomwalters@0
|
39 realval=value/combi.editscaler;
|
tomwalters@0
|
40 realval=max(realval,combi.minvalue);
|
tomwalters@0
|
41 realval=min(realval,combi.maxvalue);
|
tomwalters@0
|
42
|
tomwalters@0
|
43 if combi.is_log==1
|
tomwalters@0
|
44 sliderval=f2f(realval,combi.minvalue,combi.maxvalue,0,1,'loglin');
|
tomwalters@0
|
45 else
|
tomwalters@0
|
46 sliderval=f2f(realval,combi.minvalue,combi.maxvalue,0,1,'linlin');
|
tomwalters@0
|
47 end
|
tomwalters@0
|
48
|
tomwalters@0
|
49 sliderval=min(1,sliderval);
|
tomwalters@0
|
50 sliderval=max(0,sliderval);
|
tomwalters@0
|
51
|
tomwalters@0
|
52 set(combi.sliderhandle,'Value',sliderval);
|
tomwalters@0
|
53 val=realval*combi.editscaler;
|
tomwalters@0
|
54 editval=fround(val,combi.nreditdigits);
|
tomwalters@0
|
55 set(combi.edithandle,'String',num2str(editval));
|
tomwalters@0
|
56
|
tomwalters@0
|
57 combi.current_value=realval; |