annotate toolboxes/MIRtoolbox1.3.2/somtoolbox/vis_show_gui_comp.m @ 0:cc4b1211e677 tip

initial commit to HG from Changeset: 646 (e263d8a21543) added further path and more save "camirversion.m"
author Daniel Wolff
date Fri, 19 Aug 2016 13:07:06 +0200
parents
children
rev   line source
Daniel@0 1 function vis_show_gui_comp(h, indx, action,varargin)
Daniel@0 2
Daniel@0 3 %VIS_SHOW_GUI_COMP is a subfunction of SOM_SHOW_GUI.
Daniel@0 4 %
Daniel@0 5 % vis_show_gui_comp(handle, indx, action, varargin)
Daniel@0 6 %
Daniel@0 7 % Input arguments:
Daniel@0 8 % handle (struct)
Daniel@0 9 % indx (scalar)
Daniel@0 10 % action (string)
Daniel@0 11 % varargin (varies)
Daniel@0 12 %
Daniel@0 13 % See also SOM_SHOW_GUI.
Daniel@0 14
Daniel@0 15 % Copyright (c) 2000 by Roman Feldman and Juha Vesanto
Daniel@0 16 % Contributed to SOM Toolbox on August 22nd, 2000
Daniel@0 17 % http://www.cis.hut.fi/projects/somtoolbox/
Daniel@0 18
Daniel@0 19 % Version 2.0beta roman 160800 juuso 220800
Daniel@0 20
Daniel@0 21 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 22 % MAIN %
Daniel@0 23 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 24
Daniel@0 25 udata = get(h,'UserData');
Daniel@0 26 plot_array = udata.plot_array;
Daniel@0 27 l = length(plot_array);
Daniel@0 28
Daniel@0 29 %%%%%%
Daniel@0 30 % init %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 31 %%%%%%
Daniel@0 32
Daniel@0 33 if (strcmp(action,'init'))
Daniel@0 34
Daniel@0 35 %--- color vars ---
Daniel@0 36 fig_color = [0.8 0.8 0.8];
Daniel@0 37 bg_color1 = [0.701960784313725 0.701960784313725 0.701960784313725];
Daniel@0 38 bg_color2 = [0.9 0.9 0.9];
Daniel@0 39 %--- object position vars (in pixels) ---
Daniel@0 40 % calculations based on case 'comp'
Daniel@0 41 %% hint text
Daniel@0 42 hint_dist1 = 98.17-(61.27+36.9); % hint text lower edge and next lower frame upper edge
Daniel@0 43 hint_dist2 = 123-(98.17+18.45); % figure upper edge and hint text upper edge
Daniel@0 44 %% general
Daniel@0 45 dist1 = 67.42-61.27; % general distance between frame edge and object in frame
Daniel@0 46 %% frame + ok / cancel
Daniel@0 47 frames_dist = 61.27-(8.38+36.9);
Daniel@0 48 frames_dist2 = 8.38;
Daniel@0 49 f_fr = [7.9 8.38 216.2 36.9]; % final frame
Daniel@0 50 ok_pb = [17.1 15.76 75.9 22.14];
Daniel@0 51 cancel_pb = [139 15.76 75.9 22.14];
Daniel@0 52 %% objects
Daniel@0 53 hint_txt = [230 18.45]; % hint text width and height
Daniel@0 54 interp_cb = [98.9 24.6];
Daniel@0 55 title_txt = [35 hint_txt(2)];
Daniel@0 56 title_edit_h = 23.083;
Daniel@0 57 var_pop = interp_cb;
Daniel@0 58 list_lt = [130 130];
Daniel@0 59 calc_txt = [list_lt(1) hint_txt(2)];
Daniel@0 60 useall_pb = [50 interp_cb(2)];
Daniel@0 61
Daniel@0 62 if (length(indx) > 1)
Daniel@0 63 errordlg({'Same options for multiple subplots', ...
Daniel@0 64 'not yet available'},'Error in SOM_VIS: options');
Daniel@0 65 return;
Daniel@0 66
Daniel@0 67 elseif (isempty(plot_array(1).args))
Daniel@0 68 errordlg({'Try to select subplot first'}, ...
Daniel@0 69 'Error in SOM_VIS: options');
Daniel@0 70 return;
Daniel@0 71
Daniel@0 72 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 73 % 'comp'
Daniel@0 74 %
Daniel@0 75 elseif (strncmp('comp',plot_array(indx).args{1},4))
Daniel@0 76 old_fig_n = watchon;
Daniel@0 77 W = 230; H = 123;
Daniel@0 78 units = get(h,'units');
Daniel@0 79 set(h,'units','pixels');
Daniel@0 80 fp = get(h,'Position');
Daniel@0 81 fig_pos = [(fp(1)+fp(3)) ...
Daniel@0 82 (fp(2)+fp(2)+fp(4)/2-H/2) ...
Daniel@0 83 W ...
Daniel@0 84 H];
Daniel@0 85 o1 = sum(f_fr([2 4]))+frames_dist;
Daniel@0 86 o2 = o1+dist1;
Daniel@0 87 o3 = 2*dist1+interp_cb(2);
Daniel@0 88 o4 = o1+o3+hint_dist1;
Daniel@0 89 hint_text_pos = [1 o4 hint_txt];
Daniel@0 90 frame1_pos = [f_fr(1) o1 f_fr(3) o3];
Daniel@0 91 interp_pos = [ok_pb(1) o2 interp_cb];
Daniel@0 92 frame2_pos = f_fr;
Daniel@0 93 ok_pos = ok_pb;
Daniel@0 94 cancel_pos = cancel_pb;
Daniel@0 95
Daniel@0 96 fig_h = figure( ...
Daniel@0 97 'Units','pixels', ...
Daniel@0 98 'Position', fig_pos, ...
Daniel@0 99 'Color',fig_color, ...
Daniel@0 100 'NumberTitle','off', ...
Daniel@0 101 'Name','component', ...
Daniel@0 102 'MenuBar','none', ...
Daniel@0 103 'Visible','off');
Daniel@0 104
Daniel@0 105 set( ...
Daniel@0 106 uicontrol( ... %% hint
Daniel@0 107 'Units','pixels', ...
Daniel@0 108 'BackgroundColor',fig_color, ...
Daniel@0 109 'HorizontalAlignment','center', ...
Daniel@0 110 'Position',hint_text_pos, ...
Daniel@0 111 'String','Options for component plane', ...
Daniel@0 112 'Style','text'),'units','normalized');
Daniel@0 113
Daniel@0 114 set( ...
Daniel@0 115 uicontrol( ... %% [frame]
Daniel@0 116 'Units','pixels', ...
Daniel@0 117 'Position',frame1_pos, ...
Daniel@0 118 'Style','frame'),'units','normalized');
Daniel@0 119
Daniel@0 120 pr = udata.property{indx};
Daniel@0 121 chkb_h = uicontrol( ... %% interpolated
Daniel@0 122 'Units','pixels', ...
Daniel@0 123 'HorizontalAlignment','center', ...
Daniel@0 124 'Position',interp_pos, ...
Daniel@0 125 'Style','checkbox', ...
Daniel@0 126 'String','interpolated', ...
Daniel@0 127 'Value',pr{1});
Daniel@0 128 set(chkb_h,'units','normalized');
Daniel@0 129
Daniel@0 130 set( ...
Daniel@0 131 uicontrol( ... %% [frame]
Daniel@0 132 'Units','pixels', ...
Daniel@0 133 'Position',frame2_pos, ...
Daniel@0 134 'Style','frame'),'units','normalized');
Daniel@0 135
Daniel@0 136 s = ['vis_show_gui_comp(', ...
Daniel@0 137 mat2str(h), ',', mat2str(indx), ...
Daniel@0 138 ',''comp'',' mat2str(fig_h) ')'];
Daniel@0 139 set( ...
Daniel@0 140 uicontrol( ... %% OK
Daniel@0 141 'Units','pixels', ...
Daniel@0 142 'Position',ok_pos, ...
Daniel@0 143 'String','OK', ...
Daniel@0 144 'Callback',s),'units','normalized');
Daniel@0 145
Daniel@0 146 set( ...
Daniel@0 147 uicontrol( ... %% Cancel
Daniel@0 148 'Units','pixels', ...
Daniel@0 149 'Position',cancel_pos, ...
Daniel@0 150 'String','Cancel', ...
Daniel@0 151 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized');
Daniel@0 152
Daniel@0 153 watchoff(old_fig_n);
Daniel@0 154 tmp_udata = [chkb_h];
Daniel@0 155 set(fig_h,'units','normalized', ...
Daniel@0 156 'Visible','on', ...
Daniel@0 157 'UserData',tmp_udata, ...
Daniel@0 158 'handlevisibility','off');
Daniel@0 159
Daniel@0 160 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 161 % 'umat'
Daniel@0 162 %
Daniel@0 163 elseif (strncmp('umat',plot_array(indx).args{1},4))
Daniel@0 164 old_fig_n = watchon;
Daniel@0 165 W = 230; H = 335.893;
Daniel@0 166 units = get(h,'units');
Daniel@0 167 set(h,'units','pixels');
Daniel@0 168 fp = get(h,'Position');
Daniel@0 169 fig_pos = [(fp(1)+fp(3)) ...
Daniel@0 170 (fp(2)+fp(2)+fp(4)/2-H/2) ...
Daniel@0 171 W ...
Daniel@0 172 H];
Daniel@0 173 o1 = sum(f_fr([2 4]))+frames_dist;
Daniel@0 174 o2 = o1+dist1;
Daniel@0 175 o3 = 2*dist1+list_lt(2)+calc_txt(2);
Daniel@0 176 o4 = o2+list_lt(2);
Daniel@0 177 o5 = sum(cancel_pb([1 3]))-useall_pb(1);
Daniel@0 178 o6 = o2+o3/2-useall_pb(2)/2;
Daniel@0 179 o7 = o1+o3+frames_dist2;
Daniel@0 180 o8 = 2*dist1+interp_cb(2);
Daniel@0 181 o9 = o7+dist1;
Daniel@0 182 o10 = o7+o8+frames_dist2;;
Daniel@0 183 o11 = 2*dist1+max(title_edit_h,title_txt(2));
Daniel@0 184 o12 = W-(title_txt(1)+2*ok_pb(1));
Daniel@0 185 o13 = o10+dist1+(title_edit_h-title_txt(2))/2;
Daniel@0 186 o14 = o10+dist1;
Daniel@0 187 if title_txt(2)>title_edit_h,
Daniel@0 188 o13 = o10+dist1;
Daniel@0 189 o14 = o13+(title_edit_h-title_txt(2))/2;
Daniel@0 190 end
Daniel@0 191 o15 = ok_pb(1)+title_txt(1);
Daniel@0 192 o16 = o10+o11+hint_dist1;
Daniel@0 193 hint_text_pos = [1 o16 hint_txt];
Daniel@0 194 frame1_pos = [f_fr(1) o10 f_fr(3) o11];
Daniel@0 195 title_text_pos = [ok_pb(1) o13 title_txt];
Daniel@0 196 title_pos = [o15 o14 o12 title_edit_h];
Daniel@0 197 frame2_pos = [f_fr(1) o7 f_fr(3) o8];
Daniel@0 198 interp_pos = [ok_pb(1) o9 interp_cb];
Daniel@0 199 frame3_pos = [f_fr(1) o1 f_fr(3) o3];
Daniel@0 200 list_text_pos = [ok_pb(1) o4 calc_txt];
Daniel@0 201 list_pos = [ok_pb(1) o2 list_lt];
Daniel@0 202 use_all_pos = [o5 o6 useall_pb];
Daniel@0 203 frame4_pos = f_fr;
Daniel@0 204 ok_pos = ok_pb;
Daniel@0 205 cancel_pos = cancel_pb;
Daniel@0 206
Daniel@0 207 fig_h = figure( ...
Daniel@0 208 'Units','pixels', ...
Daniel@0 209 'Position', fig_pos, ...
Daniel@0 210 'Color',fig_color, ...
Daniel@0 211 'NumberTitle','off', ...
Daniel@0 212 'Name','U-matrix', ...
Daniel@0 213 'MenuBar','none', ...
Daniel@0 214 'Visible','off');
Daniel@0 215
Daniel@0 216 set( ...
Daniel@0 217 uicontrol( ... %% hint
Daniel@0 218 'Units','pixels', ...
Daniel@0 219 'BackgroundColor',fig_color, ...
Daniel@0 220 'HorizontalAlignment','center', ...
Daniel@0 221 'Position',hint_text_pos, ...
Daniel@0 222 'String','Options for U-matrix', ...
Daniel@0 223 'Style','text'),'units','normalized');
Daniel@0 224
Daniel@0 225 set( ...
Daniel@0 226 uicontrol( ... %% [frame]
Daniel@0 227 'Units','pixels', ...
Daniel@0 228 'Position',frame1_pos, ...
Daniel@0 229 'Style','frame'),'units','normalized');
Daniel@0 230
Daniel@0 231 set( ...
Daniel@0 232 uicontrol( ... %% title
Daniel@0 233 'Units','pixels', ...
Daniel@0 234 'Position',title_text_pos, ...
Daniel@0 235 'BackgroundColor',bg_color1, ...
Daniel@0 236 'HorizontalAlignment','left', ...
Daniel@0 237 'Style','text', ...
Daniel@0 238 'String','Title'),'units','normalized');
Daniel@0 239
Daniel@0 240 pr = udata.property{indx};
Daniel@0 241 ed_h = uicontrol( ... %% [edit]
Daniel@0 242 'Units','pixels', ...
Daniel@0 243 'Position',title_pos, ...
Daniel@0 244 'FontSize',12, ...
Daniel@0 245 'Style','edit', ...
Daniel@0 246 'String',pr{2}, ...
Daniel@0 247 'BackgroundColor',bg_color2);
Daniel@0 248 set(ed_h,'units','normalized');
Daniel@0 249
Daniel@0 250 set( ...
Daniel@0 251 uicontrol( ... %% [frame]
Daniel@0 252 'Units','pixels', ...
Daniel@0 253 'Position',frame2_pos, ...
Daniel@0 254 'Style','frame'),'units','normalized');
Daniel@0 255
Daniel@0 256 chkb_h = uicontrol( ... %% interpolated
Daniel@0 257 'Units','pixels', ...
Daniel@0 258 'Position',interp_pos, ...
Daniel@0 259 'Style','checkbox', ...
Daniel@0 260 'String','interpolated', ...
Daniel@0 261 'Value',pr{1});
Daniel@0 262 set(chkb_h,'units','normalized');
Daniel@0 263
Daniel@0 264 set( ...
Daniel@0 265 uicontrol( ... %% [frame]
Daniel@0 266 'Units','pixels', ...
Daniel@0 267 'Position',frame3_pos, ...
Daniel@0 268 'Style','frame'),'units','normalized');
Daniel@0 269
Daniel@0 270 set( ...
Daniel@0 271 uicontrol( ... %% calculated from
Daniel@0 272 'Units','pixels', ...
Daniel@0 273 'BackgroundColor',bg_color1, ...
Daniel@0 274 'HorizontalAlignment','left', ...
Daniel@0 275 'Position',list_text_pos, ...
Daniel@0 276 'String','calculated from', ...
Daniel@0 277 'Style','text'),'units','normalized');
Daniel@0 278
Daniel@0 279 list1_h = uicontrol( ... %% [listbox]
Daniel@0 280 'Units','pixels', ...
Daniel@0 281 'BackgroundColor',bg_color2, ...
Daniel@0 282 'Position',list_pos, ...
Daniel@0 283 'String',udata.sM.comp_names, ...
Daniel@0 284 'Style','listbox', ...
Daniel@0 285 'Max',2, ...
Daniel@0 286 'Value',pr{3});
Daniel@0 287 set(list1_h,'units','normalized');
Daniel@0 288
Daniel@0 289 s = ['tmp=get(' mat2str(fig_h) ',''userdata'');set(tmp(3),''value'',' ...
Daniel@0 290 mat2str(1:length(udata.sM.comp_names)) ');'];
Daniel@0 291 set( ...
Daniel@0 292 uicontrol( ... %% Use all
Daniel@0 293 'Units','pixels', ...
Daniel@0 294 'Position',use_all_pos, ...
Daniel@0 295 'String','Use all', ...
Daniel@0 296 'Callback',s),'units','normalized');
Daniel@0 297
Daniel@0 298 set( ...
Daniel@0 299 uicontrol( ... %% [frame]
Daniel@0 300 'Units','pixels', ...
Daniel@0 301 'Position',frame4_pos, ...
Daniel@0 302 'Style','frame'),'units','normalized');
Daniel@0 303
Daniel@0 304 s = ['vis_show_gui_comp(' ...
Daniel@0 305 mat2str(h) ',' mat2str(indx) ...
Daniel@0 306 ',''umat'',' mat2str(fig_h) ')'];
Daniel@0 307 set( ...
Daniel@0 308 uicontrol( ... %% OK
Daniel@0 309 'Units','pixels', ...
Daniel@0 310 'Position',ok_pos, ...
Daniel@0 311 'String','OK', ...
Daniel@0 312 'Callback',s),'units','normalized');
Daniel@0 313
Daniel@0 314 set( ...
Daniel@0 315 uicontrol( ... %% Cancel
Daniel@0 316 'Units','pixels', ...
Daniel@0 317 'Position',cancel_pos, ...
Daniel@0 318 'String','Cancel', ...
Daniel@0 319 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized');
Daniel@0 320
Daniel@0 321 watchoff(old_fig_n);
Daniel@0 322 tmp_udata = [chkb_h ed_h list1_h];
Daniel@0 323 set(fig_h,'units','normalized', ...
Daniel@0 324 'Visible','on', ...
Daniel@0 325 'UserData', tmp_udata, ...
Daniel@0 326 'handlevisibility','off');
Daniel@0 327
Daniel@0 328 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 329 % 'color'
Daniel@0 330 %
Daniel@0 331 elseif (strncmp('color',plot_array(indx).args{1},5))
Daniel@0 332 old_fig_n = watchon;
Daniel@0 333 W = 230; H = 212.043;
Daniel@0 334 units = get(h,'units');
Daniel@0 335 set(h,'units','pixels');
Daniel@0 336 fp = get(h,'Position');
Daniel@0 337 fig_pos = [(fp(1)+fp(3)) ...
Daniel@0 338 (fp(2)+fp(2)+fp(4)/2-H/2) ...
Daniel@0 339 W ...
Daniel@0 340 H];
Daniel@0 341 o1 = sum(f_fr([2 4]))+frames_dist;
Daniel@0 342 o2 = o1+dist1;
Daniel@0 343 o3 = 2*dist1+var_pop(2);
Daniel@0 344 o4 = o1+o3+frames_dist2;
Daniel@0 345 o5 = o4+dist1;
Daniel@0 346 o6 = 2*dist1+interp_cb(2);
Daniel@0 347 o7 = o4+o6+frames_dist2;
Daniel@0 348 o8 = 2*dist1+max(title_edit_h,title_txt(2));
Daniel@0 349 o9 = W-(title_txt(1)+2*ok_pb(1));
Daniel@0 350 o10 = o7+dist1+(title_edit_h-title_txt(2))/2;
Daniel@0 351 o11 = o7+dist1;
Daniel@0 352 if title_txt(2)>title_edit_h,
Daniel@0 353 o10 = o7+dist1;
Daniel@0 354 o11 = o10+(title_edit_h-title_txt(2))/2;
Daniel@0 355 end
Daniel@0 356 o12 = ok_pb(1)+title_txt(1);
Daniel@0 357 o13 = o7+o8+hint_dist1;
Daniel@0 358 hint_text_pos = [1 o13 hint_txt];
Daniel@0 359 frame1_pos = [f_fr(1) o7 f_fr(3) o8];
Daniel@0 360 title_text_pos = [ok_pb(1) o10 title_txt];
Daniel@0 361 title_pos = [o12 o11 o9 title_edit_h];
Daniel@0 362 frame2_pos = [f_fr(1) o4 f_fr(3) o6];
Daniel@0 363 interp_pos = [ok_pb(1) o5 interp_cb];
Daniel@0 364 frame3_pos = [f_fr(1) o1 f_fr(3) o3];
Daniel@0 365 popup_pos = [ok_pb(1) o2 var_pop];
Daniel@0 366 frame4_pos = f_fr;
Daniel@0 367 ok_pos = ok_pb;
Daniel@0 368 cancel_pos = cancel_pb;
Daniel@0 369
Daniel@0 370 fig_h = figure( ...
Daniel@0 371 'Units','pixels', ...
Daniel@0 372 'Position',fig_pos, ...
Daniel@0 373 'Color',fig_color, ...
Daniel@0 374 'NumberTitle','off', ...
Daniel@0 375 'Name','color plane', ...
Daniel@0 376 'MenuBar','none', ...
Daniel@0 377 'Visible','off');
Daniel@0 378
Daniel@0 379 set( ...
Daniel@0 380 uicontrol( ... %% hint
Daniel@0 381 'Units','pixels', ...
Daniel@0 382 'BackgroundColor',fig_color, ...
Daniel@0 383 'HorizontalAlignment','center', ...
Daniel@0 384 'Position',hint_text_pos, ...
Daniel@0 385 'String','Options for colorplane', ...
Daniel@0 386 'Style','text'),'units','normalized');
Daniel@0 387
Daniel@0 388 set( ...
Daniel@0 389 uicontrol( ... %% [frame]
Daniel@0 390 'Units','pixels', ...
Daniel@0 391 'Position',frame1_pos, ...
Daniel@0 392 'Style','frame'),'units','normalized');
Daniel@0 393
Daniel@0 394 set( ...
Daniel@0 395 uicontrol( ... %% title
Daniel@0 396 'Units','pixels', ...
Daniel@0 397 'Position',title_text_pos, ...
Daniel@0 398 'HorizontalAlignment','left', ...
Daniel@0 399 'Style','text', ...
Daniel@0 400 'String','Title'),'units','normalized');
Daniel@0 401
Daniel@0 402 pr = udata.property{indx};
Daniel@0 403 ed_h = uicontrol( ... %% [edit]
Daniel@0 404 'Units','pixels', ...
Daniel@0 405 'Position',title_pos, ...
Daniel@0 406 'FontSize',12, ...
Daniel@0 407 'Style','edit', ...
Daniel@0 408 'String',pr{2}, ...
Daniel@0 409 'BackgroundColor',bg_color2);
Daniel@0 410 set(ed_h,'units','normalized');
Daniel@0 411
Daniel@0 412 set( ...
Daniel@0 413 uicontrol( ... %% [frame]
Daniel@0 414 'Units','pixels', ...
Daniel@0 415 'Position',frame2_pos, ...
Daniel@0 416 'Style','frame'),'units','normalized');
Daniel@0 417
Daniel@0 418 chkb_h = uicontrol( ... %% interpolated
Daniel@0 419 'Units','pixels', ...
Daniel@0 420 'Position',interp_pos, ...
Daniel@0 421 'Style','checkbox', ...
Daniel@0 422 'String','interpolated', ...
Daniel@0 423 'Value',pr{1});
Daniel@0 424 set(chkb_h,'units','normalized');
Daniel@0 425
Daniel@0 426 set( ...
Daniel@0 427 uicontrol( ... %% [frame]
Daniel@0 428 'Units','pixels', ...
Daniel@0 429 'Position',frame3_pos, ...
Daniel@0 430 'Style','frame'),'units','normalized');
Daniel@0 431
Daniel@0 432 popup1_h = uicontrol( ... %% [popup]
Daniel@0 433 'Units','pixels', ...
Daniel@0 434 'Max',2, ...
Daniel@0 435 'Min',1, ...
Daniel@0 436 'Position',popup_pos, ...
Daniel@0 437 'String',pr{3}, ...
Daniel@0 438 'Style','popupmenu', ...
Daniel@0 439 'Value',pr{4});
Daniel@0 440 s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ...
Daniel@0 441 'vis_show_gui_tool([tmp(3) 6],''popup_select'');' ...
Daniel@0 442 'u=get(' mat2str(h) ',''UserData'');' ...
Daniel@0 443 'v=' mat2str(indx) ';' ...
Daniel@0 444 'pr=u.property{v};' ...
Daniel@0 445 'pr{3}=get(tmp(3),''string'');' ...
Daniel@0 446 'pr{4}=get(tmp(3),''value'');' ...
Daniel@0 447 'u.property{v}=pr;' ...
Daniel@0 448 'set(' mat2str(h) ',''userdata'',u)'];
Daniel@0 449 set(popup1_h,'units','normalized', ...
Daniel@0 450 'Callback',s);
Daniel@0 451
Daniel@0 452 set( ...
Daniel@0 453 uicontrol( ... %% [frame]
Daniel@0 454 'Units','pixels', ...
Daniel@0 455 'Position',frame4_pos, ...
Daniel@0 456 'Style','frame'),'units','normalized');
Daniel@0 457
Daniel@0 458 s = ['vis_show_gui_comp(', ...
Daniel@0 459 mat2str(h), ',', mat2str(indx), ...
Daniel@0 460 ',''color'',' mat2str(fig_h) ')'];
Daniel@0 461 set( ...
Daniel@0 462 uicontrol( ... %% OK
Daniel@0 463 'Units','pixels', ...
Daniel@0 464 'Position',ok_pos, ...
Daniel@0 465 'String','OK', ...
Daniel@0 466 'Callback',s),'units','normalized');
Daniel@0 467
Daniel@0 468 set( ...
Daniel@0 469 uicontrol( ... %% Cancel
Daniel@0 470 'Units','pixels', ...
Daniel@0 471 'Position',cancel_pos, ...
Daniel@0 472 'String','Cancel', ...
Daniel@0 473 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized');
Daniel@0 474
Daniel@0 475 watchoff(old_fig_n);
Daniel@0 476 tmp_udata = [chkb_h ed_h popup1_h];
Daniel@0 477 set(fig_h,'units','normalized', ...
Daniel@0 478 'Visible','on', ...
Daniel@0 479 'UserData', tmp_udata, ...
Daniel@0 480 'handlevisibility','off');
Daniel@0 481
Daniel@0 482 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 483 % 'empty'
Daniel@0 484 %
Daniel@0 485 elseif (strncmp('empty',plot_array(indx).args{1},5))
Daniel@0 486 old_fig_n = watchon;
Daniel@0 487 W = 230; H = 121.483;
Daniel@0 488 units = get(h,'units');
Daniel@0 489 set(h,'units','pixels');
Daniel@0 490 fp = get(h,'Position');
Daniel@0 491 fig_pos = [(fp(1)+fp(3)) ...
Daniel@0 492 (fp(2)+fp(2)+fp(4)/2-H/2) ...
Daniel@0 493 W ...
Daniel@0 494 H];
Daniel@0 495 o1 = sum(f_fr([2 4]))+frames_dist;
Daniel@0 496 o2 = 2*dist1+max(title_edit_h,title_txt(2));
Daniel@0 497 o3 = 2*dist1+interp_cb(2);
Daniel@0 498 o4 = W-(title_txt(1)+2*ok_pb(1));
Daniel@0 499 o5 = o1+dist1+(title_edit_h-title_txt(2))/2;
Daniel@0 500 o6 = o1+dist1;
Daniel@0 501 if title_txt(2)>title_edit_h,
Daniel@0 502 o5 = o1+dist1;
Daniel@0 503 o6 = o5+(title_edit_h-title_txt(2))/2;
Daniel@0 504 end
Daniel@0 505 o7 = ok_pb(1)+title_txt(1);
Daniel@0 506 o8 = o1+o2+hint_dist1;
Daniel@0 507 hint_text_pos = [1 o8 hint_txt];
Daniel@0 508 frame1_pos = [f_fr(1) o1 f_fr(3) o3];
Daniel@0 509 title_text_pos = [ok_pb(1) o5 title_txt];
Daniel@0 510 title_pos = [o7 o6 o4 title_edit_h];
Daniel@0 511 frame2_pos = f_fr;
Daniel@0 512 ok_pos = ok_pb;
Daniel@0 513 cancel_pos = cancel_pb;
Daniel@0 514
Daniel@0 515 fig_h = figure( ...
Daniel@0 516 'Units','pixels', ...
Daniel@0 517 'Position', fig_pos, ...
Daniel@0 518 'Color',fig_color, ...
Daniel@0 519 'NumberTitle','off', ...
Daniel@0 520 'Name','empty plane', ...
Daniel@0 521 'MenuBar','none', ...
Daniel@0 522 'Visible','off');
Daniel@0 523
Daniel@0 524 set( ...
Daniel@0 525 uicontrol( ... %% hint
Daniel@0 526 'Units','pixels', ...
Daniel@0 527 'BackgroundColor',fig_color, ...
Daniel@0 528 'HorizontalAlignment','center', ...
Daniel@0 529 'Position',hint_text_pos, ...
Daniel@0 530 'String','Options for empty plane', ...
Daniel@0 531 'Style','text'),'units','normalized');
Daniel@0 532
Daniel@0 533 set( ...
Daniel@0 534 uicontrol( ... %% [frame]
Daniel@0 535 'Units','pixels', ...
Daniel@0 536 'Position',frame1_pos, ...
Daniel@0 537 'Style','frame'),'units','normalized');
Daniel@0 538
Daniel@0 539 set( ...
Daniel@0 540 uicontrol( ... %% title
Daniel@0 541 'Units','pixels', ...
Daniel@0 542 'Position',title_text_pos, ...
Daniel@0 543 'HorizontalAlignment','left', ...
Daniel@0 544 'Style','text', ...
Daniel@0 545 'String','Title'),'units','normalized');
Daniel@0 546
Daniel@0 547 pr = udata.property{indx};
Daniel@0 548 ed_h = uicontrol( ... %% [edit]
Daniel@0 549 'Units','pixels', ...
Daniel@0 550 'Position',title_pos, ...
Daniel@0 551 'Style','edit', ...
Daniel@0 552 'FontSize',12, ...
Daniel@0 553 'String',pr{1}, ...
Daniel@0 554 'BackgroundColor',bg_color2);
Daniel@0 555 set(ed_h,'units','normalized');
Daniel@0 556
Daniel@0 557 set( ...
Daniel@0 558 uicontrol( ... %% [frame]
Daniel@0 559 'Units','pixels', ...
Daniel@0 560 'Position',frame2_pos, ...
Daniel@0 561 'Style','frame'),'units','normalized');
Daniel@0 562
Daniel@0 563 s = ['vis_show_gui_comp(', ...
Daniel@0 564 mat2str(h) ',' mat2str(indx), ...
Daniel@0 565 ',''empty'',' mat2str(fig_h) ')'];
Daniel@0 566 set( ...
Daniel@0 567 uicontrol( ... %% OK
Daniel@0 568 'Units','pixels', ...
Daniel@0 569 'Position',ok_pos, ...
Daniel@0 570 'String','OK', ...
Daniel@0 571 'Callback',s),'units','normalized');
Daniel@0 572
Daniel@0 573 set( ...
Daniel@0 574 uicontrol( ... %% Cancel
Daniel@0 575 'Units','pixels', ...
Daniel@0 576 'Position',cancel_pos, ...
Daniel@0 577 'String','Cancel', ...
Daniel@0 578 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized');
Daniel@0 579
Daniel@0 580 watchoff(old_fig_n);
Daniel@0 581 tmp_udata = [ed_h];
Daniel@0 582 set(fig_h,'units','normalized', ...
Daniel@0 583 'Visible','on', ...
Daniel@0 584 'UserData', tmp_udata, ...
Daniel@0 585 'handlevisibility','off');
Daniel@0 586
Daniel@0 587 end
Daniel@0 588
Daniel@0 589 %%%%%%
Daniel@0 590 % comp %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 591 %%%%%%
Daniel@0 592 elseif (strcmp(action,'comp'))
Daniel@0 593 tmp_h = get(varargin{1},'UserData');
Daniel@0 594 v = get(tmp_h,'Value');
Daniel@0 595 pr = udata.property{indx};
Daniel@0 596 if (v)
Daniel@0 597 v = 'compi';
Daniel@0 598 pr{1} = 1;
Daniel@0 599 else
Daniel@0 600 v = 'comp';
Daniel@0 601 pr{1} = 0;
Daniel@0 602 end
Daniel@0 603 plot_array(indx).args{1} = v;
Daniel@0 604 udata.plot_array = plot_array;
Daniel@0 605 udata.property{indx} = pr;
Daniel@0 606 set(h,'UserData',udata);
Daniel@0 607 close(varargin{1});
Daniel@0 608
Daniel@0 609 %%%%%%
Daniel@0 610 % umat %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 611 %%%%%%
Daniel@0 612 elseif (strcmp(action,'umat'))
Daniel@0 613 tmp_h = get(varargin{1},'UserData');
Daniel@0 614 v = get(tmp_h(1),'Value');
Daniel@0 615 pr = udata.property{indx};
Daniel@0 616 if (v)
Daniel@0 617 v = 'umati';
Daniel@0 618 pr{1} = 1;
Daniel@0 619 else
Daniel@0 620 v = 'umat';
Daniel@0 621 pr{1} = 0;
Daniel@0 622 end
Daniel@0 623 plot_array(indx).args{1} = v;
Daniel@0 624
Daniel@0 625 s = get(tmp_h(2),'String');
Daniel@0 626 v = get(tmp_h(3),'Value'); % userdata
Daniel@0 627 plot_array(indx).string = s;
Daniel@0 628 if strcmp(s,'U-matrix')
Daniel@0 629 plot_array(indx).args{2} = v;
Daniel@0 630 else
Daniel@0 631 plot_array(indx).args{2} = {v s};
Daniel@0 632 end
Daniel@0 633 pr{2} = s;
Daniel@0 634 pr{3} = v;
Daniel@0 635 udata.plot_array = plot_array;
Daniel@0 636 udata.property{indx} = pr;
Daniel@0 637 set(h,'UserData',udata);
Daniel@0 638 set(udata.h(1),'String',{plot_array(:).string});
Daniel@0 639 close(varargin{1});
Daniel@0 640
Daniel@0 641 %%%%%%%
Daniel@0 642 % color %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 643 %%%%%%%
Daniel@0 644 elseif (strcmp(action,'color'))
Daniel@0 645 tmp_h = get(varargin{1},'UserData'); % tmp_h = [chkb_h ed_h popup1_h];
Daniel@0 646
Daniel@0 647 v = get(tmp_h(1),'Value');
Daniel@0 648 pr = udata.property{indx};
Daniel@0 649 if (v)
Daniel@0 650 v = 'colori';
Daniel@0 651 pr{1} = 1;
Daniel@0 652 else
Daniel@0 653 v = 'color';
Daniel@0 654 pr{1} = 0;
Daniel@0 655 end
Daniel@0 656 plot_array(indx).args{1} = v;
Daniel@0 657
Daniel@0 658 v = get(tmp_h(3),'Value');
Daniel@0 659 s = get(tmp_h(3),'string');
Daniel@0 660 if v>5 & ~strcmp(s{v},'-variable-'),
Daniel@0 661 m = evalin('base',s{v});
Daniel@0 662 elseif ~strcmp(s{v},'-variable-'),
Daniel@0 663 m = som_colorcode(udata.sM,s{v});
Daniel@0 664 end
Daniel@0 665 plot_array(indx).args{2} = m;
Daniel@0 666 pr{3} = s;
Daniel@0 667 s = get(tmp_h(2),'String');
Daniel@0 668 plot_array(indx).string = s;
Daniel@0 669 if ~strcmp(s,'Color code')
Daniel@0 670 plot_array(indx).args{2} = ...
Daniel@0 671 {plot_array(indx).args{2} s};
Daniel@0 672 end
Daniel@0 673 pr{2} = s;
Daniel@0 674 pr{4} = v;
Daniel@0 675 udata.plot_array = plot_array;
Daniel@0 676 udata.property{indx} = pr;
Daniel@0 677 set(h,'UserData',udata);
Daniel@0 678 set(udata.h(1),'String',{plot_array(:).string});
Daniel@0 679 close(varargin{1});
Daniel@0 680
Daniel@0 681 %%%%%%%
Daniel@0 682 % empty %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Daniel@0 683 %%%%%%%
Daniel@0 684 elseif (strcmp(action,'empty'))
Daniel@0 685 pr = udata.property{indx};
Daniel@0 686 tmp_h = get(varargin{1},'UserData');
Daniel@0 687 s = get(tmp_h,'String');
Daniel@0 688 pr{1} = s;
Daniel@0 689 plot_array(indx).string = s;
Daniel@0 690 plot_array(indx).args{2} = s;
Daniel@0 691 udata.plot_array = plot_array;
Daniel@0 692 udata.property{indx} = pr;
Daniel@0 693 set(h,'UserData',udata);
Daniel@0 694 set(udata.h(1),'String',{plot_array(:).string});
Daniel@0 695 close(varargin{1});
Daniel@0 696
Daniel@0 697 else
Daniel@0 698
Daniel@0 699 end
Daniel@0 700
Daniel@0 701
Daniel@0 702