annotate aim-mat/gui/aim_updategui.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 % procedure for 'aim-mat'
tomwalters@0 2 %
tomwalters@0 3 % INPUT VALUES:
tomwalters@0 4 %
tomwalters@0 5 % RETURN VALUE:
tomwalters@0 6 %
tomwalters@0 7 %
tomwalters@0 8 % (c) 2011, University of Southampton
bleeck@3 9 % Maintained by Stefan Bleeck (bleeck@gmail.com)
bleeck@3 10 % download of current version is on the soundsoftware site:
bleeck@3 11 % http://code.soundsoftware.ac.uk/projects/aimmat
bleeck@3 12 % documentation and everything is on http://www.acousticscale.org
bleeck@3 13
tomwalters@0 14
tomwalters@0 15
tomwalters@0 16 function handles=aim_updategui(handles)
tomwalters@0 17
tomwalters@0 18 % enable / disable the buttons
tomwalters@0 19 loadstatus(1)=handles.info.pcp_loaded;
tomwalters@0 20 loadstatus(2)=handles.info.bmm_loaded;
tomwalters@0 21 loadstatus(3)=handles.info.nap_loaded;
tomwalters@0 22 loadstatus(4)=handles.info.strobes_loaded;
tomwalters@0 23 loadstatus(5)=handles.info.sai_loaded;
tomwalters@0 24 loadstatus(6)=handles.info.usermodule_loaded;
tomwalters@0 25 loadstatus(7)=handles.info.movie_loaded;
tomwalters@0 26
tomwalters@0 27 for i=1:7
tomwalters@0 28 but=getbuttonhandle(handles,i);
tomwalters@0 29 frame_hand=getframehandle(handles,i);
tomwalters@0 30 if loadstatus(i)==1
tomwalters@0 31 set(but,'Enable','on');
tomwalters@0 32 set(frame_hand,'BackgroundColor',handles.colors.green1);
tomwalters@0 33 else
tomwalters@0 34 set(but,'Enable','off');
tomwalters@0 35 set(frame_hand,'BackgroundColor',handles.colors.background);
tomwalters@0 36 end
tomwalters@0 37 end
tomwalters@0 38
tomwalters@0 39
tomwalters@0 40 % default settings for all but the sai
tomwalters@0 41 set(handles.frame28,'BackgroundColor',handles.colors.green1);
tomwalters@0 42 set(handles.checkbox6,'Enable','on');
tomwalters@0 43 set(handles.checkbox7,'Enable','on');
tomwalters@0 44 set(handles.checkbox10,'Enable','on');
tomwalters@0 45 set(handles.edit3,'Enable','on');
tomwalters@0 46 set(handles.slider3,'Enable','on');
tomwalters@0 47 set(handles.edit3,'Visible','on'); %switch on duration
tomwalters@0 48 set(handles.slider3,'Visible','on');
tomwalters@0 49 set(handles.text7,'Visible','on');
tomwalters@0 50 set(handles.text10,'Visible','on');
tomwalters@0 51 set(handles.text9,'String','ms');
tomwalters@0 52 set(handles.text8,'String','start time');
tomwalters@0 53 set(handles.pushbutton24,'Enable','on');
tomwalters@0 54
tomwalters@0 55 sig=handles.data.signal;
tomwalters@0 56 len=getlength(sig);
tomwalters@0 57
tomwalters@0 58 handles=aim_set_current_slider(handles);
tomwalters@0 59
tomwalters@0 60 % the new one is now the old one:
tomwalters@0 61 handles.info.old_current_plot=handles.info.current_plot;
tomwalters@0 62
tomwalters@0 63 % calculate dependencies TCW AIM2006
tomwalters@0 64 % enumerate list boxes
tomwalters@0 65 for i=1:7
tomwalters@0 66 listboxen(i)=getlisthandle(handles, i);
tomwalters@0 67 end
tomwalters@0 68 % if it was a list box that called
tomwalters@0 69 if (find(listboxen==handles.calling_object))
tomwalters@0 70 current_listbox=handles.calling_object;
tomwalters@0 71 current_listbox_number=find(listboxen==handles.calling_object);
tomwalters@0 72 generating_module_string=get(current_listbox,'String');
tomwalters@0 73 generating_module=generating_module_string(get(current_listbox,'Value'));
tomwalters@0 74 generating_module=generating_module{1};
tomwalters@0 75 generating_section=getsectionnames(current_listbox_number);
tomwalters@0 76 generating_functionline=['handles.all_options.' generating_section '.' generating_module '.default_nextmodule'];
tomwalters@0 77 try
tomwalters@0 78 setdefault=1;
tomwalters@0 79 eval(sprintf('default_gen=%s;',generating_functionline'));
tomwalters@0 80 catch
tomwalters@0 81 setdefault=0;
tomwalters@0 82 end
tomwalters@0 83 if setdefault==1 && current_listbox_number<7
tomwalters@0 84 next_listbox=getlisthandle(handles,current_listbox_number+1);
tomwalters@0 85 generating_module_string=get(next_listbox,'String');
tomwalters@0 86 chosen_option=strmatch(default_gen,generating_module_string);
tomwalters@0 87 try
tomwalters@0 88 set(next_listbox,'Value', chosen_option);
tomwalters@0 89 catch
tomwalters@0 90 % never mind, the necessary module doesn't exist
tomwalters@0 91 end
tomwalters@0 92 end
tomwalters@0 93 end
tomwalters@0 94 %
tomwalters@0 95
tomwalters@0 96 % set the colors according to the button setting
tomwalters@0 97 switch handles.info.current_plot
tomwalters@0 98 case 1 % signal
tomwalters@0 99 set(handles.checkbox6,'Value',0); % switch off profiles
tomwalters@0 100 set(handles.checkbox7,'Value',0);
tomwalters@0 101 set(handles.checkbox6,'Enable','off');
tomwalters@0 102 set(handles.checkbox7,'Enable','off');
tomwalters@0 103 set(handles.pushbutton24,'Enable','off');
tomwalters@0 104 case 2 % pcp
tomwalters@0 105 set(handles.frame20,'BackgroundColor',handles.colors.green2);
tomwalters@0 106 set(handles.checkbox6,'Value',0);
tomwalters@0 107 set(handles.checkbox7,'Value',0);
tomwalters@0 108 set(handles.checkbox6,'Enable','off');
tomwalters@0 109 set(handles.checkbox7,'Enable','off');
tomwalters@0 110 set(handles.pushbutton24,'Enable','off');
tomwalters@0 111 case 3 %bmm
tomwalters@0 112 %set(handles.checkbox10,'Value',0);
tomwalters@0 113 set(handles.checkbox6,'Value',0); % switch off profiles by default
tomwalters@0 114 set(handles.checkbox7,'Value',0);
tomwalters@0 115 set(handles.checkbox6,'Enable','off');
tomwalters@0 116 set(handles.checkbox7,'Enable','off');
tomwalters@0 117 set(handles.frame21,'BackgroundColor',handles.colors.green2);
tomwalters@0 118 case 4 % nap
tomwalters@0 119 %set(handles.checkbox10,'Value',0);
tomwalters@0 120 set(handles.checkbox10, 'Enable', 'on');
tomwalters@0 121 set(handles.checkbox7,'Value',0);
tomwalters@0 122 set(handles.checkbox7,'Enable','off');
tomwalters@0 123 set(handles.frame22,'BackgroundColor',handles.colors.green2);
tomwalters@0 124 case 5 % strobes
tomwalters@0 125 %set(handles.checkbox10,'Value',0);
tomwalters@0 126 set(handles.checkbox7,'Value',0);
tomwalters@0 127 set(handles.checkbox7,'Enable','off');
tomwalters@0 128 set(handles.frame23,'BackgroundColor',handles.colors.green2);
tomwalters@0 129 case 6 % sai
tomwalters@0 130 set(handles.frame24,'BackgroundColor',handles.colors.green2);
tomwalters@0 131 set(handles.slider3,'Visible','off');
tomwalters@0 132 set(handles.text7,'Visible','off');
tomwalters@0 133 set(handles.text9,'String','');
tomwalters@0 134 set(handles.text8,'String','frame #');
tomwalters@0 135 set(handles.checkbox10,'Value',0);
tomwalters@0 136 set(handles.checkbox10, 'Enable', 'off');
tomwalters@0 137 case 7 % user defined
tomwalters@0 138 % special: if usermodule is "none", then ignore it and set
tomwalters@0 139 if strcmp(handles.info.current_usermodule_module,'none')
tomwalters@0 140 set(handles.frame24,'BackgroundColor',handles.colors.green2);
tomwalters@0 141 set(handles.slider3,'Visible','off');
tomwalters@0 142 set(handles.text7,'Visible','off');
tomwalters@0 143 set(handles.text9,'String','');
tomwalters@0 144 set(handles.text8,'String','frame #');
tomwalters@0 145 set(handles.checkbox10,'Value',0);
tomwalters@0 146 set(handles.checkbox10, 'Enable', 'off');
tomwalters@0 147 handles.info.current_plot=6;
tomwalters@0 148 handles=aim_updategui(handles);
tomwalters@0 149 else
tomwalters@0 150 set(handles.frame25,'BackgroundColor',handles.colors.green2);
tomwalters@0 151 set(handles.slider3,'Visible','off');
tomwalters@0 152 set(handles.text7,'Visible','off');
tomwalters@0 153 set(handles.text9,'String','frame #');
tomwalters@0 154 set(handles.pushbutton24,'Enable','off');
tomwalters@0 155 set(handles.checkbox10,'Value',0);
tomwalters@0 156 set(handles.checkbox10, 'Enable', 'off');
tomwalters@0 157 end
tomwalters@0 158 if strcmp(handles.info.current_usermodule_module,'dualprofile')
tomwalters@0 159 set(handles.checkbox6,'Value',0); % switch of profiles
tomwalters@0 160 set(handles.checkbox7,'Value',0);
tomwalters@0 161 set(handles.checkbox6,'Enable','off');
tomwalters@0 162 set(handles.checkbox7,'Enable','off');
tomwalters@0 163 set(handles.pushbutton24,'Enable','off');
tomwalters@0 164 set(handles.checkbox10,'Value',0);
tomwalters@0 165 set(handles.checkbox10, 'Enable', 'off');
tomwalters@0 166
tomwalters@0 167 end
tomwalters@0 168 case 8 % movie
tomwalters@0 169 set(handles.frame26,'BackgroundColor',handles.colors.green2);
tomwalters@0 170 end
tomwalters@0 171
tomwalters@0 172
tomwalters@0 173 % indicate by a blue color, that these ones are to be regenerated or to be
tomwalters@0 174 % deleted
tomwalters@0 175 for i=1:7
tomwalters@0 176 checkhand=getcheckboxhandle(handles,i);
tomwalters@0 177 texthand=getbuttonhandle(handles,i);
tomwalters@0 178 framehand=getframehandle(handles,i);
tomwalters@0 179 if get(checkhand,'Value')==1
tomwalters@0 180 set(framehand,'BackgroundColor',handles.colors.blue2);
tomwalters@0 181 set(texthand,'Enable','on');
tomwalters@0 182 for j=i+1:7
tomwalters@0 183 checkhand=getcheckboxhandle(handles,j);
tomwalters@0 184 texthand=getbuttonhandle(handles,j);
tomwalters@0 185 if loadstatus(j)==1
tomwalters@0 186 set(framehand,'BackgroundColor',handles.colors.blue1);
tomwalters@0 187 end
tomwalters@0 188 cd1=getcheckboxhandle(handles,j-1); % left of
tomwalters@0 189 if get(cd1,'Value')==0
tomwalters@0 190 % and uncheck
tomwalters@0 191 cd=getcheckboxhandle(handles,j);
tomwalters@0 192 set(cd,'Value',0);
tomwalters@0 193 end
tomwalters@0 194 end
tomwalters@0 195 end
tomwalters@0 196 end
tomwalters@0 197
tomwalters@0 198
tomwalters@0 199
tomwalters@0 200 % set all commands accordingly, so that "calculate" can work with it
tomwalters@0 201 handles.info.calculate_pcp=0;
tomwalters@0 202 handles.info.calculate_bmm=0;
tomwalters@0 203 handles.info.calculate_nap=0;
tomwalters@0 204 handles.info.calculate_strobes=0;
tomwalters@0 205 handles.info.calculate_sai=0;
tomwalters@0 206 handles.info.calculate_usermodule=0;
tomwalters@0 207 handles.info.calculate_movie=0;
tomwalters@0 208 if get(handles.checkbox0,'Value')==1
tomwalters@0 209 handles.info.calculate_pcp=1;
tomwalters@0 210 end
tomwalters@0 211 if get(handles.checkbox1,'Value')==1
tomwalters@0 212 handles.info.calculate_bmm=1;
tomwalters@0 213 end
tomwalters@0 214 if get(handles.checkbox2,'Value')==1
tomwalters@0 215 handles.info.calculate_nap=1;
tomwalters@0 216 end
tomwalters@0 217 if get(handles.checkbox3,'Value')==1
tomwalters@0 218 handles.info.calculate_strobes=1;
tomwalters@0 219 end
tomwalters@0 220 if get(handles.checkbox4,'Value')==1
tomwalters@0 221 handles.info.calculate_sai=1;
tomwalters@0 222 end
tomwalters@0 223 if get(handles.checkbox8,'Value')==1
tomwalters@0 224 handles.info.calculate_usermodule=1;
tomwalters@0 225 end
tomwalters@0 226 if get(handles.checkbox5,'Value')==1
tomwalters@0 227 handles.info.calculate_movie=1;
tomwalters@0 228 end
tomwalters@0 229
tomwalters@0 230 % set the tooltip for each listbox:
tomwalters@0 231 settooltip(handles.all_options.pcp,handles.listbox0);
tomwalters@0 232 settooltip(handles.all_options.bmm,handles.listbox1);
tomwalters@0 233 settooltip(handles.all_options.nap,handles.listbox2);
tomwalters@0 234 settooltip(handles.all_options.strobes,handles.listbox3);
tomwalters@0 235 settooltip(handles.all_options.sai,handles.listbox4);
tomwalters@0 236 settooltip(handles.all_options.usermodule,handles.listbox6);
tomwalters@0 237 settooltip(handles.all_options.movie,handles.listbox5);
tomwalters@0 238
tomwalters@0 239 % set the current info in handles to the current values
tomwalters@0 240 generating_module_string=get(handles.listbox0,'String');
tomwalters@0 241 generating_module=generating_module_string(get(handles.listbox0,'Value'));
tomwalters@0 242 generating_module=generating_module{1};
tomwalters@0 243 handles.info.current_pcp_module=generating_module;
tomwalters@0 244 generating_module_string=get(handles.listbox1,'String');
tomwalters@0 245 generating_module=generating_module_string(get(handles.listbox1,'Value'));
tomwalters@0 246 generating_module=generating_module{1};
tomwalters@0 247 handles.info.current_bmm_module=generating_module;
tomwalters@0 248 generating_module_string=get(handles.listbox2,'String');
tomwalters@0 249 generating_module=generating_module_string(get(handles.listbox2,'Value'));
tomwalters@0 250 generating_module=generating_module{1};
tomwalters@0 251 handles.info.current_nap_module=generating_module;
tomwalters@0 252 generating_module_string=get(handles.listbox3,'String');
tomwalters@0 253 generating_module=generating_module_string(get(handles.listbox3,'Value'));
tomwalters@0 254 generating_module=generating_module{1};
tomwalters@0 255 handles.info.current_strobes_module=generating_module;
tomwalters@0 256 generating_module_string=get(handles.listbox4,'String');
tomwalters@0 257 generating_module=generating_module_string(get(handles.listbox4,'Value'));
tomwalters@0 258 generating_module=generating_module{1};
tomwalters@0 259 handles.info.current_sai_module=generating_module;
tomwalters@0 260 generating_module_string=get(handles.listbox6,'String');
tomwalters@0 261 generating_module=generating_module_string(get(handles.listbox6,'Value'));
tomwalters@0 262 generating_module=generating_module{1};
tomwalters@0 263 handles.info.current_usermodule_module=generating_module;
tomwalters@0 264 generating_module_string=get(handles.listbox5,'String');
tomwalters@0 265 generating_module=generating_module_string(get(handles.listbox5,'Value'));
tomwalters@0 266 generating_module=generating_module{1};
tomwalters@0 267 handles.info.current_movie_module=generating_module;
tomwalters@0 268
tomwalters@0 269 % special: if the sai-module is set to "ams" (auditory image model), then
tomwalters@0 270 % all buttons before that are set to disable and the settings are set to
tomwalters@0 271 % "none"
tomwalters@0 272 if strcmp(handles.info.current_sai_module,'ams') && handles.info.sai_loaded==1 && ~get(handles.checkbox0,'Value')==1
tomwalters@0 273 set(handles.pushbutton0,'Enable','off');
tomwalters@0 274 set(handles.frame20,'BackgroundColor',handles.colors.background);
tomwalters@0 275 % % set(handles.listbox0,'String','none');
tomwalters@0 276 set(handles.pushbutton2,'Enable','off');
tomwalters@0 277 set(handles.frame21,'BackgroundColor',handles.colors.background);
tomwalters@0 278 % % set(handles.listbox1,'String','none');
tomwalters@0 279 set(handles.pushbutton3,'Enable','off');
tomwalters@0 280 set(handles.frame22,'BackgroundColor',handles.colors.background);
tomwalters@0 281 % set(handles.listbox2,'String','none');
tomwalters@0 282 set(handles.pushbutton4,'Enable','off');
tomwalters@0 283 set(handles.frame23,'BackgroundColor',handles.colors.background);
tomwalters@0 284 % set(handles.listbox3,'String','none');
tomwalters@0 285 end
tomwalters@0 286
tomwalters@0 287
tomwalters@0 288
tomwalters@0 289 return
tomwalters@0 290
tomwalters@0 291
tomwalters@0 292 %%%%%%%%%%%%%%%%%%%%%%%% finished
tomwalters@0 293
tomwalters@0 294 function settooltip(options,hand)
tomwalters@0 295 generating_module_string=get(hand,'String');
tomwalters@0 296 generating_module=generating_module_string(get(hand,'Value'));
tomwalters@0 297 generating_module=generating_module{1};
tomwalters@0 298 generating_functionline=['options.' generating_module '.displayname'];
tomwalters@0 299 eval(sprintf('displayname=%s;',generating_functionline'));
tomwalters@0 300 set(hand,'Tooltip',displayname);
tomwalters@0 301
tomwalters@0 302 function hand=getcheckboxhandle(handles,nr)
tomwalters@0 303 switch nr
tomwalters@0 304 case 1
tomwalters@0 305 hand=handles.checkbox0;
tomwalters@0 306 case 2
tomwalters@0 307 hand=handles.checkbox1;
tomwalters@0 308 case 3
tomwalters@0 309 hand=handles.checkbox2;
tomwalters@0 310 case 4
tomwalters@0 311 hand=handles.checkbox3;
tomwalters@0 312 case 5
tomwalters@0 313 hand=handles.checkbox4;
tomwalters@0 314 case 6
tomwalters@0 315 hand=handles.checkbox8;
tomwalters@0 316 case 7
tomwalters@0 317 hand=handles.checkbox5;
tomwalters@0 318 end
tomwalters@0 319
tomwalters@0 320 function hand=getbuttonhandle(handles,nr)
tomwalters@0 321 switch nr
tomwalters@0 322 case 1
tomwalters@0 323 hand=handles.pushbutton0;
tomwalters@0 324 case 2
tomwalters@0 325 hand=handles.pushbutton2;
tomwalters@0 326 case 3
tomwalters@0 327 hand=handles.pushbutton3;
tomwalters@0 328 case 4
tomwalters@0 329 hand=handles.pushbutton4;
tomwalters@0 330 case 5
tomwalters@0 331 hand=handles.pushbutton5;
tomwalters@0 332 case 6
tomwalters@0 333 hand=handles.pushbutton21;
tomwalters@0 334 case 7
tomwalters@0 335 hand=handles.pushbutton6;
tomwalters@0 336 end
tomwalters@0 337
tomwalters@0 338
tomwalters@0 339 function hand=getlisthandle(handles,nr)
tomwalters@0 340 switch nr
tomwalters@0 341 case 1
tomwalters@0 342 hand=handles.listbox0;
tomwalters@0 343 case 2
tomwalters@0 344 hand=handles.listbox1;
tomwalters@0 345 case 3
tomwalters@0 346 hand=handles.listbox2;
tomwalters@0 347 case 4
tomwalters@0 348 hand=handles.listbox3;
tomwalters@0 349 case 5
tomwalters@0 350 hand=handles.listbox4;
tomwalters@0 351 case 6
tomwalters@0 352 hand=handles.listbox6;
tomwalters@0 353 case 7
tomwalters@0 354 hand=handles.listbox5;
tomwalters@0 355 end
tomwalters@0 356
tomwalters@0 357
tomwalters@0 358 function hand=getframehandle(handles,nr)
tomwalters@0 359 switch nr
tomwalters@0 360 case 1
tomwalters@0 361 hand=handles.frame20;
tomwalters@0 362 case 2
tomwalters@0 363 hand=handles.frame21;
tomwalters@0 364 case 3
tomwalters@0 365 hand=handles.frame22;
tomwalters@0 366 case 4
tomwalters@0 367 hand=handles.frame23;
tomwalters@0 368 case 5
tomwalters@0 369 hand=handles.frame24;
tomwalters@0 370 case 6
tomwalters@0 371 hand=handles.frame25;
tomwalters@0 372 case 7
tomwalters@0 373 hand=handles.frame26;
tomwalters@0 374 end
tomwalters@0 375
tomwalters@0 376 function name=getsectionnames(nr);
tomwalters@0 377 switch nr
tomwalters@0 378 case 1
tomwalters@0 379 name='pcp';
tomwalters@0 380 case 2
tomwalters@0 381 name='bmm';
tomwalters@0 382 case 3
tomwalters@0 383 name='nap';
tomwalters@0 384 case 4
tomwalters@0 385 name='strobes';
tomwalters@0 386 case 5
tomwalters@0 387 name='sai';
tomwalters@0 388 case 6
tomwalters@0 389 name='usermodule';
tomwalters@0 390 case 7
tomwalters@0 391 name='movie';
tomwalters@0 392 end