annotate aim-mat/tools/@parameter/disablefield.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
rev   line source
tomwalters@0 1 % method of class @parameter
tomwalters@0 2 %
bleeck@3 3 % (c) 2011, University of Southampton
bleeck@3 4 % Maintained by Stefan Bleeck (bleeck@gmail.com)
bleeck@3 5 % download of current version is on the soundsoftware site:
bleeck@3 6 % http://code.soundsoftware.ac.uk/projects/aimmat
bleeck@3 7 % documentation and everything is on http://www.acousticscale.org
tomwalters@0 8 function param=disablefield(param,paramtext,enablesthese,inbox)
tomwalters@0 9 % the boolean parameter paramtext switches on or off the fields in
tomwalters@0 10 % enablethese
tomwalters@0 11 % this is the reverse of enablefield
tomwalters@0 12
tomwalters@0 13 cont=param.entries;
tomwalters@0 14 nrent=length(cont);
tomwalters@0 15
tomwalters@0 16 if nargin<4 % search in all subsections
tomwalters@0 17 inbox='all';
tomwalters@0 18 end
tomwalters@0 19
tomwalters@0 20 nr=getentrynumberbytext(param,paramtext,inbox);
tomwalters@0 21 inbox=param.entries{nr}.panel;
tomwalters@0 22
tomwalters@0 23 if nr>0
tomwalters@0 24 cval=1-param.entries{nr}.value; % disable instead of enable
tomwalters@0 25 nre=size(enablesthese,1);
tomwalters@0 26 if nre==1
tomwalters@0 27 param.entries{nr}.disables{1}=enablesthese;
tomwalters@0 28 param.entries{nr}.disables_inbox{1}=inbox;
tomwalters@0 29 param=enable(param,enablesthese,cval,inbox);
tomwalters@0 30 else
tomwalters@0 31 for i=1:nre
tomwalters@0 32 param.entries{nr}.disables{i}=enablesthese{i};
tomwalters@0 33 param.entries{nr}.disables_inbox{i}=inbox;
tomwalters@0 34 param=enable(param,enablesthese{i},cval,inbox);
tomwalters@0 35 end
tomwalters@0 36 end
tomwalters@0 37 else
tomwalters@0 38 error('setvalue::error, the entry does not exist');
tomwalters@0 39 end
tomwalters@0 40