Mercurial > hg > aimmat
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 |