wolffd@0: function r=vis_show_gui_tool(h,action,varargin) wolffd@0: wolffd@0: %VIS_SHOW_GUI_TOOL is a subfunction of SOM_SHOW_GUI. wolffd@0: % wolffd@0: % r = vis_show_gui_tool(handle, action, varargin) wolffd@0: % wolffd@0: % Input arguments: wolffd@0: % handle (struct) wolffd@0: % action (string) wolffd@0: % varargin (varies) wolffd@0: % wolffd@0: % See also SOM_SHOW_GUI. wolffd@0: wolffd@0: % Copyright (c) 2000 by Roman Feldman and Juha Vesanto wolffd@0: % Contributed to SOM Toolbox on August 22nd, 2000 wolffd@0: % http://www.cis.hut.fi/projects/somtoolbox/ wolffd@0: wolffd@0: % Version 2.0beta roman 160800 juuso 220800 wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: if ishandle(h(1)), wolffd@0: udata = get(h(1),'UserData'); wolffd@0: if isfield(udata,'plot_array'), wolffd@0: plot_array = udata.plot_array; wolffd@0: if isfield(udata,'vis_h') wolffd@0: % get most recent plotted wolffd@0: children = get(0,'children'); wolffd@0: % first refresh plot info wolffd@0: udata.vis_h = setdiff(udata.vis_h,setdiff(udata.vis_h,children)); wolffd@0: set(h(1),'userdata',udata); wolffd@0: for i=1:length(children), wolffd@0: if any(children(i)==udata.vis_h), wolffd@0: child = children(i); wolffd@0: [handles,msg,lattice,msize,dim]=vis_som_show_data('all',children(i)); wolffd@0: break; wolffd@0: elseif i==length(children), wolffd@0: errordlg({'Plot not found', ... wolffd@0: 'Try to visualize first'},'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: end wolffd@0: else wolffd@0: errordlg({'Plot not found', ... wolffd@0: 'Try to visualize first'},'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: %--- color vars --- wolffd@0: fig_color = [0.8 0.8 0.8]; wolffd@0: bg_color1 = [0.701960784313725 0.701960784313725 0.701960784313725]; wolffd@0: bg_color2 = [0.9 0.9 0.9]; wolffd@0: %--- object position vars (in pixels) --- wolffd@0: % calculations based on case 'comp' wolffd@0: %% hint text wolffd@0: hint_dist1 = 98.17-(61.27+36.9); % hint text lower edge and next lower frame upper edge wolffd@0: hint_dist2 = 123-(98.17+18.45); % figure upper edge and hint text upper edge wolffd@0: %% general wolffd@0: dist1 = 67.42-61.27; % general distance between frame edge and object in frame wolffd@0: %% frame + ok / cancel wolffd@0: frames_dist = 61.27-(8.38+36.9); wolffd@0: frames_dist2 = 8.38; wolffd@0: f_fr = [7.9 8.38 216.2 36.9]; % final frame wolffd@0: ok_pb = [17.1 15.76 75.9 22.14]; wolffd@0: cancel_pb = [139 15.76 75.9 22.14]; wolffd@0: %% objects wolffd@0: hint_txt = [460 18.45]; % hint text width and height wolffd@0: interp_cb = [98.9 24.6]; wolffd@0: title_txt = [90 hint_txt(2)-3]; wolffd@0: title_edit_h = 23.083; wolffd@0: var_pop = [interp_cb(1) ok_pb(4)]; wolffd@0: list_lt = [130 130]; wolffd@0: calc_txt = [list_lt(1) hint_txt(2)]; wolffd@0: selvar_pb = [110 ok_pb(4)]; wolffd@0: strd_ed = [var_pop(1) title_edit_h]; wolffd@0: radio_rb = selvar_pb; wolffd@0: wolffd@0: %%%%%%%%%%% wolffd@0: % add_label %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%% wolffd@0: if strcmp(action,'add_label') wolffd@0: old_fig_n = watchon; wolffd@0: W = 345.4; H = 222.769; wolffd@0: o21 = zeros(1,4); wolffd@0: o21(1) = (W-f_fr(3))/2; wolffd@0: f_fr = [7.9 8.38 (W-2*7.9) 36.9]; % final frame wolffd@0: cancel_pb = [(W-(ok_pb(1)+75.9)) 15.76 75.9 22.14]; wolffd@0: hint_txt = [W 18.45]; % hint text width and height wolffd@0: units = get(h,'units'); wolffd@0: set(h,'units','pixels'); wolffd@0: fp = get(h,'Position'); wolffd@0: fig_pos = [(fp(1)+fp(3)) ... wolffd@0: (fp(2)+fp(2)+fp(4)/2-H/2) ... wolffd@0: W ... wolffd@0: H]; wolffd@0: o1 = sum(f_fr([2 4]))+frames_dist; wolffd@0: o2 = 4*dist1+2*max([title_edit_h,title_txt(2)]) ... wolffd@0: +max([title_txt(2),var_pop(2)]); wolffd@0: o6 = max([title_txt(2),var_pop(2)]); wolffd@0: o7 = max([title_txt(2),title_edit_h]); wolffd@0: o8 = max([title_txt(2),title_edit_h,selvar_pb(2)]); wolffd@0: o3 = o1+0.5*o6+dist1-title_txt(2)/2; wolffd@0: o4 = o1+0.5*o6+dist1-var_pop(2)/2; wolffd@0: o5 = ok_pb(1)+title_txt(1); wolffd@0: o9 = o1+o6+0.5*o7+2*dist1-title_txt(2)/2; wolffd@0: o10 = o1+o6+0.5*o7+2*dist1-title_edit_h/2;; wolffd@0: o11 = o1+o6+o7+0.5*o8+3*dist1-title_txt(2)/2; wolffd@0: o12 = o1+o6+o7+0.5*o8+3*dist1-title_edit_h/2; wolffd@0: o13 = o1+o6+o7+0.5*o8+3*dist1-selvar_pb(2)/2; wolffd@0: o15 = o1+o2+frames_dist2; wolffd@0: o16 = 2*dist1+o7; wolffd@0: o17 = o5+strd_ed(1)+2*dist1; % W-ok_pb(1)-selvar_pb(1); wolffd@0: o18 = o15+0.5*o7+dist1-title_txt(2)/2; wolffd@0: o19 = o15+0.5*o7+dist1-title_edit_h/2; wolffd@0: o20 = o15+o16+hint_dist1; wolffd@0: hint_text_pos = [1 o20 hint_txt]; wolffd@0: frame1_pos = [f_fr(1) o15 f_fr(3) o16]; wolffd@0: subplots_text_pos = [ok_pb(1) o18 title_txt]; wolffd@0: subplots_pos = [o5 o19 strd_ed]; wolffd@0: frame2_pos = [f_fr(1) o1 f_fr(3) o2]; wolffd@0: labels_text_pos = [ok_pb(1) o11 title_txt]; wolffd@0: labels_pos = [o5 o12 strd_ed]; wolffd@0: sel_var_pos = [o17 o13 selvar_pb]; wolffd@0: text_size_text_pos = [ok_pb(1) o9 title_txt]; wolffd@0: text_size_pos = [o5 o10 strd_ed]; wolffd@0: text_color_text_pos = [ok_pb(1) o3 title_txt]; wolffd@0: text_color_pos = [o5 o4 var_pop]; wolffd@0: f_fr = [7.9 8.38 216.2 36.9]; % final frame wolffd@0: cancel_pb = [139 15.76 75.9 22.14]; wolffd@0: frame3_pos = f_fr+o21; wolffd@0: ok_pos = ok_pb+o21; wolffd@0: cancel_pos = cancel_pb+o21; wolffd@0: wolffd@0: fig_h = figure( ... wolffd@0: 'Units','pixels', ... wolffd@0: 'Position', fig_pos, ... wolffd@0: 'Color',fig_color, ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'Name','add label', ... wolffd@0: 'MenuBar','none', ... wolffd@0: 'Visible','off'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% hint wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',fig_color, ... wolffd@0: 'HorizontalAlignment','center', ... wolffd@0: 'Position',hint_text_pos, ... wolffd@0: 'String','Options for adding labels', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame1_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% To subplot(s) wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',subplots_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','To subplot(s)', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed1_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',subplots_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame2_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Labels wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',labels_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Labels', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed2_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',labels_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed2_h,'units','normalized'); wolffd@0: wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool(tmp(2),''select'')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% Select variable wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',sel_var_pos, ... wolffd@0: 'String','Select variable', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Text size wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_size_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Text size', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed3_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',text_size_pos, ... wolffd@0: 'String','10', ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed3_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Text color wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_color_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Text color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'k' 'w' 'y' 'm' 'c' 'r' 'g' 'b' 'xor' 'none'}; wolffd@0: s = {'black' 'white' 'yellow' 'magenta' 'cyan' 'red' 'green' ... wolffd@0: 'blue' 'xor' 'none'}; wolffd@0: p_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame3_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: s = ['vis_show_gui_tool(' mat2str(h) ',''label'',' mat2str(fig_h) ')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% OK wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',ok_pos, ... wolffd@0: 'String','OK', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Cancel wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',cancel_pos, ... wolffd@0: 'String','Cancel', ... wolffd@0: 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized'); wolffd@0: wolffd@0: watchoff(old_fig_n); wolffd@0: ud = [ed1_h ed2_h ed3_h p_h]; wolffd@0: set(fig_h,'units','normalized', ... wolffd@0: 'Visible','on', ... wolffd@0: 'UserData',ud, ... wolffd@0: 'handlevisibility','off'); wolffd@0: wolffd@0: %%%%%%%%% wolffd@0: % add_hit %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%% wolffd@0: elseif strcmp(action,'add_hit') wolffd@0: old_fig_n = watchon; wolffd@0: W = 424.3; H = 337.642; wolffd@0: o37 = zeros(1,4); wolffd@0: o37(1) = (W-f_fr(3))/2; wolffd@0: f_fr = [7.9 8.38 (W-2*7.9) 36.9]; % final frame wolffd@0: cancel_pb = [(W-(ok_pb(1)+75.9)) 15.76 75.9 22.14]; wolffd@0: hint_txt = [W 18.45]; % hint text width and height wolffd@0: units = get(h,'units'); wolffd@0: set(h,'units','pixels'); wolffd@0: fp = get(h,'Position'); wolffd@0: fig_pos = [(fp(1)+fp(3)) ... wolffd@0: (fp(2)+fp(2)+fp(4)/2-H/2) ... wolffd@0: W ... wolffd@0: H]; wolffd@0: o1 = sum(f_fr([2 4]))+frames_dist; wolffd@0: o2 = o1+dist1; wolffd@0: o6 = max([title_txt(2),var_pop(2)]); wolffd@0: o7 = max([title_txt(2),title_edit_h]); wolffd@0: o8 = max([title_txt(2),title_edit_h,var_pop(2)]); wolffd@0: o38 = max([title_txt(2),title_edit_h,selvar_pb(2)]); wolffd@0: o3 = o8+o6+3*dist1; wolffd@0: o4 = o1+0.5*o8+dist1-title_txt(2)/2; wolffd@0: o5 = o1+0.5*o8+dist1-var_pop(2)/2; wolffd@0: o9 = o1+0.5*o8+dist1-title_edit_h/2; wolffd@0: o21 = o1+o8+0.5*o6+2*dist1-title_txt(2)/2; wolffd@0: o22 = o1+o8+0.5*o6+2*dist1-var_pop(2)/2; wolffd@0: o20 = ok_pb(1)+title_txt(1); wolffd@0: o10 = o20+var_pop(1)+2*dist1; wolffd@0: o11 = o10+title_txt(1); wolffd@0: o12 = o2+o8+dist1+0.5*o6-title_txt(2)/2; wolffd@0: o13 = o2+o8+dist1+0.5*o6-var_pop(2)/2; wolffd@0: o14 = o1+o3+frames_dist2; wolffd@0: o15 = 2*o6+o8+4*dist1; wolffd@0: o16 = o14+dist1+0.5*o6-title_txt(2)/2; wolffd@0: o17 = o14+dist1+0.5*o6-var_pop(2)/2; wolffd@0: o18 = o14+o6+2*dist1+0.5*o8-title_txt(2)/2; wolffd@0: o19 = o14+o6+2*dist1+0.5*o8-title_edit_h/2; wolffd@0: o23 = o14+o6+2*dist1+0.5*o8-var_pop(2)/2; wolffd@0: o24 = o14+o6+3*dist1+o8+0.5*o6-title_txt(2)/2; wolffd@0: o25 = o14+o6+3*dist1+o8+0.5*o6-var_pop(2)/2; wolffd@0: o26 = o14+o15+frames_dist2; wolffd@0: o27 = o8+2*dist1; wolffd@0: o28 = o26+dist1+0.5*o38-title_txt(2)/2; wolffd@0: o29 = o26+dist1+0.5*o38-title_edit_h/2; wolffd@0: o30 = o26+dist1+0.5*o38-selvar_pb(2)/2; wolffd@0: o31 = o10; %W-(ok_pb(1)+selvar_pb(1)); wolffd@0: o32 = o26+o27+frames_dist2; wolffd@0: o33 = o7+2*dist1; wolffd@0: o34 = o32+dist1+0.5*o7-title_txt(2)/2; wolffd@0: o35 = o32+dist1+0.5*o7-title_edit_h/2; wolffd@0: o36 = o32+o33+hint_dist1; wolffd@0: hint_text_pos = [1 o36 hint_txt]; wolffd@0: frame1_pos = [f_fr(1) o32 f_fr(3) o33]; wolffd@0: subplots_text_pos = [ok_pb(1) o34 title_txt]; wolffd@0: subplots_pos = [o20 o35 strd_ed]; wolffd@0: frame2_pos = [f_fr(1) o26 f_fr(3) o27]; wolffd@0: trace_vect_text_pos = [ok_pb(1) o28 title_txt]; wolffd@0: trace_vect_pos = [o20 o29 strd_ed]; wolffd@0: sel_vect_pos = [o31 o30 selvar_pb]; wolffd@0: frame3_pos = [f_fr(1) o14 f_fr(3) o15]; wolffd@0: marker_text_pos = [ok_pb(1) o24 title_txt]; wolffd@0: marker_pos = [o20 o25 var_pop]; wolffd@0: marker_size_text_pos = [ok_pb(1) o18 title_txt]; wolffd@0: marker_size_pos = [o20 o19 strd_ed]; wolffd@0: size_fact_text_pos = [o10 o18 title_txt]; wolffd@0: size_fact_pos = [o11 o23 var_pop]; wolffd@0: marker_color_text_pos = [ok_pb(1) o16 title_txt]; wolffd@0: marker_color_pos = [o20 o17 var_pop]; wolffd@0: edge_color_text_pos = [o10 o16 title_txt]; wolffd@0: edge_color_pos = [o11 o17 var_pop]; wolffd@0: frame4_pos = [f_fr(1) o1 f_fr(3) o3]; wolffd@0: text_text_pos = [ok_pb(1) o21 title_txt]; wolffd@0: text_pos = [o20 o22 var_pop]; wolffd@0: text_color_text_pos = [ok_pb(1) o4 title_txt]; wolffd@0: text_color_pos = [o20 o5 var_pop]; wolffd@0: text_size_text_pos = [o10 o4 title_txt]; wolffd@0: text_size_pos = [o11 o9 strd_ed]; wolffd@0: f_fr = [7.9 8.38 216.2 36.9]; % final frame wolffd@0: cancel_pb = [139 15.76 75.9 22.14]; wolffd@0: frame5_pos = f_fr+o37; wolffd@0: ok_pos = ok_pb+o37; wolffd@0: cancel_pos = cancel_pb+o37; wolffd@0: wolffd@0: fig_h = figure( ... wolffd@0: 'Units','pixels', ... wolffd@0: 'Position', fig_pos, ... wolffd@0: 'Color',fig_color, ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'Name','add hit histogram', ... wolffd@0: 'MenuBar','none', ... wolffd@0: 'Visible','off'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% hint wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',fig_color, ... wolffd@0: 'HorizontalAlignment','center', ... wolffd@0: 'Position',hint_text_pos, ... wolffd@0: 'String','Options for adding hit histogram', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame1_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% To subplot(s) wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',subplots_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','To subplot(s)', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed1_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',subplots_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame2_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Trace vector wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',trace_vect_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Hit vector', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed2_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',trace_vect_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed2_h,'units','normalized'); wolffd@0: wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool(tmp(2),''select'')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% Select variable wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',sel_vect_pos, ... wolffd@0: 'String','Select variable', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame3_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Marker', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'lattice' 'o' '.' 'x' '+' '*' 's' 'd' 'v' '^' ... wolffd@0: '<' '>' 'p' 'h' 'none' 'cell array'}; wolffd@0: p3_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool([tmp(6),16],''popup_select'')']; wolffd@0: set(p3_h,'units','normalized','Callback',s); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker size wolffd@0: 'Units','pixels', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',marker_size_text_pos, ... wolffd@0: 'String','Marker size', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed4_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',marker_size_pos, ... wolffd@0: 'String','12', ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed4_h,'units','normalized','Callback',s); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Size factor wolffd@0: 'Units','pixels', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',size_fact_text_pos, ... wolffd@0: 'String','Size factor', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'common' 'separate'}; wolffd@0: p4_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',size_fact_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p4_h,'units','normalized'); wolffd@0: wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker color wolffd@0: 'Units','pixels', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',marker_color_text_pos, ... wolffd@0: 'String','Marker color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'w' 'k' 'y' 'm' 'c' 'r' 'g' 'b' 'none' ''}; wolffd@0: s = {'white' 'black' 'yellow' 'magenta' 'cyan' ... wolffd@0: 'red' 'green' 'blue' 'none' '-matrix-'}; wolffd@0: p5_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool([tmp(9) 10],''popup_select'')']; wolffd@0: set(p5_h,'units','normalized','Callback',s); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% EdgeColor wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',edge_color_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Edge color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'none' 'w' 'k' 'y' 'm' 'c' 'r' 'g' 'b'}; wolffd@0: s = {'none' 'white' 'black' 'yellow' 'magenta' 'cyan' ... wolffd@0: 'red' 'green' 'blue'}; wolffd@0: p6_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',edge_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p6_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame4_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Text wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Text', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'off' 'on'}; wolffd@0: p2_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p2_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Text wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Text', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'off' 'on'}; wolffd@0: p2_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p2_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Text color wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_color_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Text color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'k' 'w' 'y' 'm' 'c' 'r' 'g' 'b' 'xor'}; wolffd@0: s = {'black' 'white' 'yellow' 'magenta' 'cyan' ... wolffd@0: 'red' 'green' 'blue' 'xor'}; wolffd@0: p1_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Text size wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',text_size_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Text size', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed3_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',text_size_pos, ... wolffd@0: 'String','3', ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed3_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame5_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: s = ['vis_show_gui_tool(' mat2str(h) ',''hit'',' mat2str(fig_h) ')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% OK wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',ok_pos, ... wolffd@0: 'String','OK', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Cancel wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',cancel_pos, ... wolffd@0: 'String','Cancel', ... wolffd@0: 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized'); wolffd@0: wolffd@0: watchoff(old_fig_n); wolffd@0: tmp_udata = [ed1_h ed2_h p1_h ed3_h p2_h p3_h ed4_h p4_h p5_h p6_h]; wolffd@0: set(fig_h,'units','normalized', ... wolffd@0: 'Visible','on', ... wolffd@0: 'UserData',tmp_udata, ... wolffd@0: 'handlevisibility','off'); wolffd@0: wolffd@0: %%%%%%%%%% wolffd@0: % add_traj %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%% wolffd@0: elseif strcmp(action,'add_traj') wolffd@0: old_fig_n = watchon; wolffd@0: W = 424.3; H = 337.642; wolffd@0: o34 = zeros(1,4); wolffd@0: o34(1) = (W-f_fr(3))/2; wolffd@0: f_fr = [7.9 8.38 (W-2*7.9) 36.9]; % final frame wolffd@0: cancel_pb = [(W-(ok_pb(1)+75.9)) 15.76 75.9 22.14]; wolffd@0: hint_txt = [W 18.45]; % hint text width and height wolffd@0: units = get(h,'units'); wolffd@0: set(h,'units','pixels'); wolffd@0: fp = get(h,'Position'); wolffd@0: fig_pos = [(fp(1)+fp(3)) ... wolffd@0: (fp(2)+fp(2)+fp(4)/2-H/2) ... wolffd@0: W ... wolffd@0: H]; wolffd@0: o1 = sum(f_fr([2 4]))+frames_dist; wolffd@0: o2 = o1+dist1; wolffd@0: o6 = max([title_txt(2),var_pop(2)]); wolffd@0: o7 = max([title_txt(2),title_edit_h]); wolffd@0: o8 = max([title_txt(2),title_edit_h,var_pop(2)]); wolffd@0: o38 = max([title_txt(2),title_edit_h,selvar_pb(2)]); wolffd@0: o20 = ok_pb(1)+title_txt(1); wolffd@0: o10 = o20+var_pop(1)+2*dist1; wolffd@0: o11 = o10+title_txt(1); wolffd@0: o3 = 2*o6+o8+4*dist1; wolffd@0: o4 = o1+dist1+0.5*o6-title_txt(2)/2; wolffd@0: o5 = o1+dist1+0.5*o6-var_pop(2)/2; wolffd@0: o9 = o1+2*dist1+o6+0.5*o8-title_txt(2)/2; wolffd@0: o12 = o1+2*dist1+o6+0.5*o8-title_edit_h/2; wolffd@0: o13 = o1+2*dist1+o6+0.5*o8-var_pop(2)/2; wolffd@0: o14 = o1+3*dist1+o6+o8+0.5*o6-title_edit_h/2; wolffd@0: o15 = o1+3*dist1+o6+o8+0.5*o6-var_pop(2)/2; wolffd@0: o16 = o1+o3+frames_dist2; wolffd@0: o17 = o8+o6+3*dist1; wolffd@0: o18 = o16+dist1+0.5*o8-title_txt(2)/2; wolffd@0: o19 = o16+dist1+0.5*o8-title_edit_h/2; wolffd@0: o21 = o16+dist1+0.5*o8-var_pop(2)/2; wolffd@0: o22 = o16+2*dist1+o8+0.5*o6-title_txt(2)/2; wolffd@0: o23 = o16+2*dist1+o8+0.5*o6-var_pop(2)/2; wolffd@0: o24 = o16+o17+frames_dist2; wolffd@0: o25 = o38+2*dist1; wolffd@0: o26 = o24+dist1+0.5*o38-title_txt(2)/2; wolffd@0: o27 = o24+dist1+0.5*o38-title_edit_h/2; wolffd@0: o28 = o24+dist1+0.5*o38-selvar_pb(2)/2; wolffd@0: o29 = o24+o25+frames_dist2; wolffd@0: o30 = o7+2*dist1; wolffd@0: o31 = o29+dist1+0.5*o7-title_txt(2)/2; wolffd@0: o32 = o29+dist1+0.5*o7-title_edit_h/2; wolffd@0: o33 = o29+o30+hint_dist1; wolffd@0: hint_text_pos = [1 o33 hint_txt]; wolffd@0: frame1_pos = [f_fr(1) o29 f_fr(3) o30]; wolffd@0: subplots_text_pos = [ok_pb(1) o31 title_txt]; wolffd@0: subplots_pos = [o20 o32 strd_ed]; wolffd@0: frame2_pos = [f_fr(1) o24 f_fr(3) o25]; wolffd@0: trace_vect_text_pos = [ok_pb(1) o26 title_txt]; wolffd@0: trace_vect_pos = [o20 o27 strd_ed]; wolffd@0: sel_vect_pos = [o10 o28 selvar_pb]; wolffd@0: frame3_pos = [f_fr(1) o16 f_fr(3) o17]; wolffd@0: line_color_text_pos = [ok_pb(1) o22 title_txt]; wolffd@0: line_color_pos = [o20 o23 var_pop]; wolffd@0: line_width_text_pos = [ok_pb(1) o18 title_txt]; wolffd@0: line_width_pos = [o20 o19 strd_ed]; wolffd@0: width_factor_text_pos = [o10 o18 title_txt]; wolffd@0: width_factor_pos = [o11 o19 var_pop]; wolffd@0: frame4_pos = [f_fr(1) o1 f_fr(3) o3]; wolffd@0: marker_text_pos = [ok_pb(1) o14 title_txt]; wolffd@0: marker_pos = [o20 o15 var_pop]; wolffd@0: marker_size_text_pos = [ok_pb(1) o9 title_txt]; wolffd@0: marker_size_pos = [o20 o12 strd_ed]; wolffd@0: size_factor_text_pos = [o10 o9 title_txt]; wolffd@0: size_factor_pos = [o11 o13 var_pop]; wolffd@0: marker_color_text_pos = [ok_pb(1) o4 title_txt]; wolffd@0: marker_color_pos = [o20 o5 var_pop]; wolffd@0: edge_color_text_pos = [o10 o4 title_txt]; wolffd@0: edge_color_pos = [o11 o5 var_pop]; wolffd@0: f_fr = [7.9 8.38 216.2 36.9]; % final frame wolffd@0: cancel_pb = [139 15.76 75.9 22.14]; wolffd@0: frame5_pos = f_fr+o34; wolffd@0: ok_pos = ok_pb+o34; wolffd@0: cancel_pos = cancel_pb+o34; wolffd@0: wolffd@0: fig_h = figure( ... wolffd@0: 'Units','pixels', ... wolffd@0: 'Position', fig_pos, ... wolffd@0: 'Color',fig_color, ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'Name','add trajectory', ... wolffd@0: 'MenuBar','none', ... wolffd@0: 'Visible','off'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% hint wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',fig_color, ... wolffd@0: 'HorizontalAlignment','center', ... wolffd@0: 'Position',hint_text_pos, ... wolffd@0: 'String','Options for adding trajectory', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame1_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... wolffd@0: 'Units','pixels', ... %% To subplot(s) wolffd@0: 'Position',subplots_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','To subplot(s)', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed1_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',subplots_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame2_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Trace vector wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',trace_vect_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Trajectory', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed2_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',trace_vect_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed2_h,'units','normalized'); wolffd@0: wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool(tmp(2),''select'')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% Select variable wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',sel_vect_pos, ... wolffd@0: 'String','Select variable', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame3_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Line color wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',line_color_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Line color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'w' 'k' 'y' 'm' 'c' 'r' 'g' 'b' 'xor'}; wolffd@0: s = {'white' 'black' 'yellow' 'magenta' 'cyan' ... wolffd@0: 'red' 'green' 'blue' 'xor'}; wolffd@0: p1_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',line_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Line width wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',line_width_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Line width', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed3_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',line_width_pos, ... wolffd@0: 'String','3', ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed3_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Factor wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',width_factor_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Factor', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'hit' 'equal'}; wolffd@0: p2_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',width_factor_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p2_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame4_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Marker', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'o' '.' 'x' '+' '*' 's' 'd' 'v' '^' ... wolffd@0: '<' '>' 'p' 'h' 'none'}; wolffd@0: p3_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p3_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker size wolffd@0: 'Units','pixels', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',marker_size_text_pos, ... wolffd@0: 'String','Marker size', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed4_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',marker_size_pos, ... wolffd@0: 'String','10', ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed4_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Factor wolffd@0: 'Units','pixels', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',size_factor_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Factor', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'hit' 'equal'}; wolffd@0: p4_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',size_factor_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p4_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker color wolffd@0: 'Units','pixels', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',marker_color_text_pos, ... wolffd@0: 'String','Marker color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'w' 'k' 'y' 'm' 'c' 'r' 'g' 'b' 'none'}; wolffd@0: s = {'white' 'black' 'yellow' 'magenta' 'cyan' ... wolffd@0: 'red' 'green' 'blue' 'none'}; wolffd@0: p5_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p5_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Edge color wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',edge_color_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Edge color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'none' 'w' 'k' 'y' 'm' 'c' 'r' 'g' 'b'}; wolffd@0: s = {'none' 'white' 'black' 'yellow' 'magenta' 'cyan' ... wolffd@0: 'red' 'green' 'blue'}; wolffd@0: p6_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',edge_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p6_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame5_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: s = ['vis_show_gui_tool(' mat2str(h) ',''traj'',' mat2str(fig_h) ')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% OK wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',ok_pos, ... wolffd@0: 'String','OK', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Cancel wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',cancel_pos, ... wolffd@0: 'String','Cancel', ... wolffd@0: 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized'); wolffd@0: wolffd@0: watchoff(old_fig_n); wolffd@0: tmp_udata = [ed1_h ed2_h p1_h ed3_h p2_h p3_h ed4_h p4_h p5_h p6_h]; wolffd@0: set(fig_h,'units','normalized', ... wolffd@0: 'Visible','on', ... wolffd@0: 'UserData',tmp_udata, ... wolffd@0: 'handlevisibility','off'); wolffd@0: wolffd@0: %%%%%%%%%%% wolffd@0: % add_comet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%% wolffd@0: elseif strcmp(action,'add_comet') wolffd@0: old_fig_n = watchon; wolffd@0: W = 424.3; H = 265.589; wolffd@0: o26 = zeros(1,4); wolffd@0: o26(1) = (W-f_fr(3))/2; wolffd@0: f_fr = [7.9 8.38 (W-2*7.9) 36.9]; % final frame wolffd@0: cancel_pb = [(W-(ok_pb(1)+75.9)) 15.76 75.9 22.14]; wolffd@0: hint_txt = [W 18.45]; % hint text width and height wolffd@0: units = get(h,'units'); wolffd@0: set(h,'units','pixels'); wolffd@0: fp = get(h,'Position'); wolffd@0: fig_pos = [(fp(1)+fp(3)) ... wolffd@0: (fp(2)+fp(2)+fp(4)/2-H/2) ... wolffd@0: W ... wolffd@0: H]; wolffd@0: o1 = sum(f_fr([2 4]))+frames_dist; wolffd@0: o2 = o1+dist1; wolffd@0: o6 = max([title_txt(2),var_pop(2)]); wolffd@0: o7 = max([title_txt(2),title_edit_h]); wolffd@0: o8 = max([title_txt(2),title_edit_h,var_pop(2)]); wolffd@0: o38 = max([title_txt(2),title_edit_h,selvar_pb(2)]); wolffd@0: o20 = ok_pb(1)+title_txt(1); wolffd@0: o10 = o20+var_pop(1)+2*dist1; wolffd@0: o11 = o10+title_txt(1); wolffd@0: o3 = 2*o6+o7+4*dist1; wolffd@0: o4 = o1+dist1+0.5*o6-title_txt(2)/2; wolffd@0: o5 = o1+dist1+0.5*o6-var_pop(2)/2; wolffd@0: o9 = o1+2*dist1+o6+0.5*o7-title_txt(2)/2; wolffd@0: o12 = o1+2*dist1+o6+0.5*o7-title_edit_h/2; wolffd@0: o13 = o1+3*dist1+o7+1.5*o6-title_txt(2)/2; wolffd@0: o14 = o1+3*dist1+o7+1.5*o6-var_pop(2)/2; wolffd@0: o15 = o1+o3+frames_dist2; wolffd@0: o16 = o38+2*dist1; wolffd@0: o17 = o15+dist1+0.5*o38-title_txt(2)/2; wolffd@0: o18 = o15+dist1+0.5*o38-title_edit_h/2; wolffd@0: o19 = o15+dist1+0.5*o38-selvar_pb(2)/2; wolffd@0: o21 = o15+o16+frames_dist2; wolffd@0: o22 = o7+2*dist1; wolffd@0: o23 = o21+dist1+0.5*o7-title_txt(2)/2; wolffd@0: o24 = o21+dist1+0.5*o7-title_edit_h/2; wolffd@0: o25 = o21+o22+hint_dist1; wolffd@0: hint_text_pos = [1 o25 hint_txt]; wolffd@0: frame1_pos = [f_fr(1) o21 f_fr(3) o22]; wolffd@0: subplots_text_pos = [ok_pb(1) o23 title_txt]; wolffd@0: subplots_pos = [o20 o24 strd_ed]; wolffd@0: frame2_pos = [f_fr(1) o15 f_fr(3) o16]; wolffd@0: trace_vect_text_pos = [ok_pb(1) o17 title_txt]; wolffd@0: trace_vect_pos = [o20 o18 strd_ed]; wolffd@0: sel_var_pos = [o10 o19 selvar_pb]; wolffd@0: frame3_pos = [f_fr(1) o1 f_fr(3) o3]; wolffd@0: marker_text_pos = [ok_pb(1) o13 title_txt]; wolffd@0: marker_pos = [o20 o14 var_pop]; wolffd@0: marker_size_text_pos = [ok_pb(1) o9 title_txt]; wolffd@0: marker_size_pos = [o20 o12 var_pop]; wolffd@0: marker_color_text_pos = [ok_pb(1) o4 title_txt]; wolffd@0: marker_color_pos = [o20 o5 var_pop]; wolffd@0: edge_color_text_pos = [o10 o4 title_txt]; wolffd@0: edge_color_pos = [o11 o5 var_pop]; wolffd@0: f_fr = [7.9 8.38 216.2 36.9]; % final frame wolffd@0: cancel_pb = [139 15.76 75.9 22.14]; wolffd@0: frame4_pos = f_fr+o26; wolffd@0: ok_pos = ok_pb+o26; wolffd@0: cancel_pos = cancel_pb+o26; wolffd@0: wolffd@0: fig_h = figure( ... wolffd@0: 'Units','pixels', ... wolffd@0: 'Position', fig_pos, ... wolffd@0: 'Color',fig_color, ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'Name','add comet', ... wolffd@0: 'MenuBar','none', ... wolffd@0: 'Visible','off'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% hint wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',fig_color, ... wolffd@0: 'HorizontalAlignment','center', ... wolffd@0: 'Position',hint_text_pos, ... wolffd@0: 'String','Options for adding comet', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame1_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% To subplot(s) wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',subplots_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','To subplot(s)', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed1_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',subplots_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame2_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Trace vector wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',trace_vect_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Trace vector', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed2_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',trace_vect_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed2_h,'units','normalized'); wolffd@0: wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool(tmp(2),''select'')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% Select variable wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',sel_var_pos, ... wolffd@0: 'String','Select variable', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame3_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Marker', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'o' '.' 'x' '+' '*' 's' 'd' 'v' '^' ... wolffd@0: '<' '>' 'p' 'h' 'lattice' 'none'}; wolffd@0: p1_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker size wolffd@0: 'Units','pixels', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',marker_size_text_pos, ... wolffd@0: 'String','Marker size', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed3_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',marker_size_pos, ... wolffd@0: 'String','[20 4]', ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed3_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Marker color wolffd@0: 'Units','pixels', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',marker_color_text_pos, ... wolffd@0: 'String','Marker color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'w' 'k' 'y' 'm' 'c' 'r' 'g' 'b' 'none' ''}; wolffd@0: s = {'white' 'black' 'yellow' 'magenta' 'cyan' ... wolffd@0: 'red' 'green' 'blue' 'none' '-matrix-'}; wolffd@0: p2_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',marker_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool([tmp(5) 10],''popup_select'')']; wolffd@0: set(p2_h,'units','normalized','Callback',s); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Edge color wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',edge_color_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Edge color', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ud = {'none' 'w' 'k' 'y' 'm' 'c' 'r' 'g' 'b'}; wolffd@0: s = {'none' 'white' 'black' 'yellow' 'magenta' 'cyan' ... wolffd@0: 'red' 'green' 'blue'}; wolffd@0: p3_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',edge_color_pos, ... wolffd@0: 'UserData',ud, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p3_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame4_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: s = ['vis_show_gui_tool(' mat2str(h) ',''comet'',' mat2str(fig_h) ')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% OK wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',ok_pos, ... wolffd@0: 'String','OK', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Cancel wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',cancel_pos, ... wolffd@0: 'String','Cancel', ... wolffd@0: 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized'); wolffd@0: wolffd@0: watchoff(old_fig_n); wolffd@0: tmp_udata = [ed1_h ed2_h p1_h ed3_h p2_h p3_h]; wolffd@0: set(fig_h,'units','normalized', ... wolffd@0: 'Visible','on', ... wolffd@0: 'UserData',tmp_udata, ... wolffd@0: 'handlevisibility','off'); wolffd@0: wolffd@0: %%%%%%%%%%%% wolffd@0: % recolorbar %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%% wolffd@0: elseif strcmp(action,'recolorbar') wolffd@0: old_fig_n = watchon; wolffd@0: W = 345.4; H = 237.299; wolffd@0: o25 = zeros(1,4); wolffd@0: o25(1) = (W-f_fr(3))/2; wolffd@0: f_fr = [7.9 8.38 (W-2*7.9) 36.9]; % final frame wolffd@0: cancel_pb = [(W-(ok_pb(1)+75.9)) 15.76 75.9 22.14]; wolffd@0: hint_txt = [W 18.45]; % hint text width and height wolffd@0: units = get(h,'units'); wolffd@0: set(h,'units','pixels'); wolffd@0: fp = get(h,'Position'); wolffd@0: fig_pos = [(fp(1)+fp(3)) ... wolffd@0: (fp(2)+fp(2)+fp(4)/2-H/2) ... wolffd@0: W ... wolffd@0: H]; wolffd@0: o1 = sum(f_fr([2 4]))+frames_dist; wolffd@0: o2 = o1+dist1; wolffd@0: o6 = max([title_txt(2),var_pop(2)]); wolffd@0: o7 = max([title_txt(2),title_edit_h]); wolffd@0: o8 = max([title_txt(2),title_edit_h,selvar_pb(2)]); wolffd@0: o20 = ok_pb(1)+title_txt(1); wolffd@0: o10 = o20+var_pop(1)+2*dist1; wolffd@0: o11 = o10+title_txt(1); wolffd@0: o3 = o6+2*dist1; wolffd@0: o4 = o1+dist1+0.5*o6-title_txt(2)/2; wolffd@0: o5 = o1+dist1+0.5*o6-var_pop(2)/2; wolffd@0: o9 = o1+o3+frames_dist2; wolffd@0: o12 = 2*o8+3*dist1; wolffd@0: o13 = o9+dist1+0.5*o8-title_txt(2)/2; wolffd@0: o14 = o9+dist1+0.5*o8-title_edit_h/2; wolffd@0: o15 = o9+dist1+0.5*o8-var_pop(2)/2; wolffd@0: o16 = o9+2*dist1+1.5*o8-title_txt(2)/2; wolffd@0: o17 = o9+2*dist1+1.5*o8-title_edit_h/2; wolffd@0: o18 = o9+2*dist1+1.5*o8-var_pop(2)/2; wolffd@0: o19 = o9+o12+frames_dist2; wolffd@0: o21 = o7+2*dist1; wolffd@0: o22 = o19+dist1+0.5*o7-title_txt(2)/2; wolffd@0: o23 = o19+dist1+0.5*o7-title_edit_h/2; wolffd@0: o24 = o19+o21+hint_dist1; wolffd@0: hint_text_pos = [1 o24 hint_txt]; wolffd@0: frame1_pos = [f_fr(1) o19 f_fr(3) o21]; wolffd@0: subplots_text_pos = [ok_pb(1) o22 title_txt]; wolffd@0: subplots_pos = [o20 o23 strd_ed]; wolffd@0: frame2_pos = [f_fr(1) o9 f_fr(3) o12]; wolffd@0: tics_text_pos = [ok_pb(1) o16 title_txt]; wolffd@0: tics_pos = [o20 o17 strd_ed]; wolffd@0: sel_var2_pos = [o10 o18 var_pop]; wolffd@0: labels_text_pos = [ok_pb(1) o13 title_txt]; wolffd@0: labels_pos = [o20 o14 strd_ed]; wolffd@0: sel_var1_pos = [o10 o15 var_pop]; wolffd@0: frame3_pos = [f_fr(1) o1 f_fr(3) o3]; wolffd@0: scale_text_pos = [ok_pb(1) o4 title_txt]; wolffd@0: scale_pos = [o20 o5 1.3*var_pop(1) var_pop(2)]; wolffd@0: f_fr = [7.9 8.38 216.2 36.9]; % final frame wolffd@0: cancel_pb = [139 15.76 75.9 22.14]; wolffd@0: frame4_pos = f_fr+o25; wolffd@0: ok_pos = ok_pb+o25; wolffd@0: cancel_pos = cancel_pb+o25; wolffd@0: wolffd@0: fig_h = figure( ... wolffd@0: 'Units','pixels', ... wolffd@0: 'Position', fig_pos, ... wolffd@0: 'Color',fig_color, ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'Name','recolorbar', ... wolffd@0: 'MenuBar','none', ... wolffd@0: 'Visible','off'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% hint wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',fig_color, ... wolffd@0: 'HorizontalAlignment','center', ... wolffd@0: 'Position',hint_text_pos, ... wolffd@0: 'String','Options, recolorbar', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame1_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% In subplot(s) wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',subplots_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','In subplot(s)', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed1_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',subplots_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame2_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Ticks wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',tics_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Ticks', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed3_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',tics_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed3_h,'units','normalized'); wolffd@0: wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool(tmp(3),''select'')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% Select variable wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',sel_var2_pos, ... wolffd@0: 'String','Select variable', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Labels (cell array) wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',labels_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Labels', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed2_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',labels_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed2_h,'units','normalized'); wolffd@0: wolffd@0: s = ['tmp=get(' mat2str(fig_h) ',''userdata'');' ... wolffd@0: 'vis_show_gui_tool(tmp(2),''select'')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% Select variable wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',sel_var1_pos, ... wolffd@0: 'String','Select variable', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame3_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Scale wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',scale_text_pos, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'String','Scale', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: s = {'denormalized' 'normalized'}; wolffd@0: p1_h = uicontrol( ... %% [popupmenu] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',scale_pos, ... wolffd@0: 'String',s, ... wolffd@0: 'Style','popupmenu'); wolffd@0: set(p1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame4_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: s = ['vis_show_gui_tool(' mat2str(h) ',''do_recolorbar'',' mat2str(fig_h) ')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% OK wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',ok_pos, ... wolffd@0: 'String','OK', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Cancel wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',cancel_pos, ... wolffd@0: 'String','Cancel', ... wolffd@0: 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized'); wolffd@0: wolffd@0: watchoff(old_fig_n); wolffd@0: tmp_udata = [ed1_h ed2_h ed3_h p1_h]; wolffd@0: set(fig_h,'units','normalized', ... wolffd@0: 'Visible','on', ... wolffd@0: 'UserData',tmp_udata, ... wolffd@0: 'handlevisibility','off'); wolffd@0: wolffd@0: %%%%%%% wolffd@0: % clear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%% wolffd@0: elseif strcmp(action,'clear') wolffd@0: old_fig_n = watchon; wolffd@0: W = 232; H = 277.463; wolffd@0: o25 = zeros(1,4); wolffd@0: o25(1) = (W-f_fr(3))/2; wolffd@0: f_fr = [7.9 8.38 (W-2*7.9) 36.9]; % final frame wolffd@0: cancel_pb = [(W-(ok_pb(1)+75.9)) 15.76 75.9 22.14]; wolffd@0: hint_txt = [W 18.45]; % hint text width and height wolffd@0: units = get(h,'units'); wolffd@0: set(h,'units','pixels'); wolffd@0: fp = get(h,'Position'); wolffd@0: fig_pos = [(fp(1)+fp(3)) ... wolffd@0: (fp(2)+fp(2)+fp(4)/2-H/2) ... wolffd@0: W ... wolffd@0: H]; wolffd@0: o1 = sum(f_fr([2 4]))+frames_dist; wolffd@0: o2 = o1+dist1; wolffd@0: o3 = (W-radio_rb(1))/2; wolffd@0: o4 = o2+radio_rb(2)+dist1; wolffd@0: o5 = o4+radio_rb(2)+dist1; wolffd@0: o6 = o5+radio_rb(2)+dist1; wolffd@0: o7 = o6+radio_rb(2)+dist1; wolffd@0: o8 = 5*radio_rb(2)+6*dist1; wolffd@0: o9 = o1+o8+frames_dist2; wolffd@0: o10 = max([title_txt(2),title_edit_h]); wolffd@0: o11 = o9+dist1+0.5*o10-title_txt(2)/2; wolffd@0: o12 = o9+dist1+0.5*o10-strd_ed(2)/2; wolffd@0: o20 = W-(ok_pb(1)+strd_ed(1)); wolffd@0: o13 = o10+2*dist1; wolffd@0: o24 = o9+o13+hint_dist1; wolffd@0: hint_text_pos = [1 o24 hint_txt]; wolffd@0: frame1_pos = [f_fr(1) o9 f_fr(3) o13]; wolffd@0: subplots_text_pos = [ok_pb(1) o11 title_txt]; wolffd@0: subplots_pos = [o20 o12 strd_ed]; wolffd@0: frame2_pos = [f_fr(1) o1 f_fr(3) o8]; wolffd@0: radiob1_pos = [o3 o7 selvar_pb]; wolffd@0: radiob2_pos = [o3 o6 selvar_pb]; wolffd@0: radiob3_pos = [o3 o5 selvar_pb]; wolffd@0: radiob4_pos = [o3 o4 selvar_pb]; wolffd@0: radiob5_pos = [o3 o2 selvar_pb]; wolffd@0: f_fr = [7.9 8.38 216.2 36.9]; % final frame wolffd@0: cancel_pb = [139 15.76 75.9 22.14]; wolffd@0: frame3_pos = f_fr;%+o25; wolffd@0: ok_pos = ok_pb;%+o25; wolffd@0: cancel_pos = cancel_pb;%+o25; wolffd@0: wolffd@0: fig_h = figure( ... wolffd@0: 'Units','pixels', ... wolffd@0: 'Position', fig_pos, ... wolffd@0: 'Color',fig_color, ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'Name','clear label', ... wolffd@0: 'MenuBar','none', ... wolffd@0: 'Visible','off'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% hint wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',fig_color, ... wolffd@0: 'HorizontalAlignment','center', ... wolffd@0: 'Position',hint_text_pos, ... wolffd@0: 'String','Options for clearing', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame1_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% From subplots wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',subplots_text_pos, ... wolffd@0: 'String','From subplots', ... wolffd@0: 'Style','text'),'units','normalized'); wolffd@0: wolffd@0: ed1_h = uicontrol( ... %% [edit] wolffd@0: 'Units','pixels', ... wolffd@0: 'BackgroundColor',bg_color2, ... wolffd@0: 'Position',subplots_pos, ... wolffd@0: 'FontSize',12, ... wolffd@0: 'Style','edit'); wolffd@0: set(ed1_h,'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame2_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: rb1_h = uicontrol( ... %% wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',radiob1_pos, ... wolffd@0: 'style','radiobutton', ... wolffd@0: 'String','All', ... wolffd@0: 'value',1); wolffd@0: wolffd@0: rb2_h = uicontrol( ... %% wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',radiob2_pos, ... wolffd@0: 'style','radiobutton', ... wolffd@0: 'String','Comet'); wolffd@0: wolffd@0: rb3_h = uicontrol( ... %% wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',radiob3_pos, ... wolffd@0: 'style','radiobutton', ... wolffd@0: 'String','Hit'); wolffd@0: wolffd@0: rb4_h = uicontrol( ... %% wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',radiob4_pos, ... wolffd@0: 'style','radiobutton', ... wolffd@0: 'String','Label'); wolffd@0: wolffd@0: rb5_h = uicontrol( ... %% wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',radiob5_pos, ... wolffd@0: 'style','radiobutton', ... wolffd@0: 'String','Trajectory'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% [frame] wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',frame3_pos, ... wolffd@0: 'Style','frame'),'units','normalized'); wolffd@0: wolffd@0: s = ['vis_show_gui_tool(' mat2str(h) ',''c_clear'',' mat2str(fig_h) ')']; wolffd@0: set( ... wolffd@0: uicontrol( ... %% OK wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',ok_pos, ... wolffd@0: 'String','OK', ... wolffd@0: 'Callback',s),'units','normalized'); wolffd@0: wolffd@0: set( ... wolffd@0: uicontrol( ... %% Cancel wolffd@0: 'Units','pixels', ... wolffd@0: 'Position',cancel_pos, ... wolffd@0: 'String','Cancel', ... wolffd@0: 'Callback',['close(' mat2str(fig_h) ')']),'units','normalized'); wolffd@0: wolffd@0: watchoff(old_fig_n); wolffd@0: tmp_udata = [ed1_h rb1_h rb2_h rb3_h rb4_h rb5_h]; wolffd@0: set(fig_h,'units','normalized', ... wolffd@0: 'Visible','on', ... wolffd@0: 'UserData',tmp_udata, ... wolffd@0: 'handlevisibility','off'); wolffd@0: wolffd@0: %%%%%%%%% wolffd@0: % c_clear %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%% wolffd@0: elseif strcmp(action,'c_clear') wolffd@0: thisfig = varargin{1}; wolffd@0: u = get(varargin{1},'UserData'); wolffd@0: s = get(u(1),'String'); wolffd@0: if ~isempty(s) wolffd@0: if s(1)=='[' | (s(1)>='1' & s(1)<='9') wolffd@0: sprintf(s,'[%s]',s); wolffd@0: e = eval(s); else e = s; wolffd@0: end wolffd@0: if vis_valuetype(e,{'1xn','nx1','string'}), wolffd@0: if ischar(e), wolffd@0: if ~strcmp(e,'all'), wolffd@0: errordlg({'Only valid string value' ... wolffd@0: 'for subplot indices is ''all''.'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: else wolffd@0: e=1:length(handles); wolffd@0: end wolffd@0: elseif any(e<1) | any(e>length(handles)), wolffd@0: errordlg({'Subplot indices must be in', ... wolffd@0: 'range 1...number_of_subplots!'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: elseif ~isempty(e) wolffd@0: errordlg('Invalid subplot indices!','Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: else, wolffd@0: e = ''; wolffd@0: end wolffd@0: set(0,'currentfigure',child) wolffd@0: v = get(u(2),'value'); wolffd@0: if v, wolffd@0: if ~isempty(e), wolffd@0: som_show_clear('lab',e); wolffd@0: som_show_clear('hit',e); wolffd@0: som_show_clear('traj',e); wolffd@0: som_show_clear('comet',e); wolffd@0: else wolffd@0: som_show_clear('lab'); wolffd@0: som_show_clear('hit'); wolffd@0: som_show_clear('traj'); wolffd@0: som_show_clear('comet'); wolffd@0: end wolffd@0: end wolffd@0: v = get(u(3),'value'); wolffd@0: if v, wolffd@0: if ~isempty(e) wolffd@0: som_show_clear('comet',e); wolffd@0: else wolffd@0: som_show_clear('comet'); wolffd@0: end wolffd@0: end wolffd@0: v = get(u(4),'value'); wolffd@0: if v, wolffd@0: if ~isempty(e), wolffd@0: som_show_clear('hit',e); wolffd@0: else wolffd@0: som_show_clear('hit'); wolffd@0: end wolffd@0: end wolffd@0: v = get(u(5),'value'); wolffd@0: if v, wolffd@0: if ~isempty(e), wolffd@0: som_show_clear('lab',e); wolffd@0: else wolffd@0: som_show_clear('lab'); wolffd@0: end wolffd@0: end wolffd@0: v = get(u(6),'value'); wolffd@0: if v, wolffd@0: if ~isempty(e), wolffd@0: som_show_clear('traj',e); wolffd@0: else wolffd@0: som_show_clear('traj'); wolffd@0: end wolffd@0: end wolffd@0: close(thisfig); wolffd@0: wolffd@0: %%%%%%%%%%%%%% wolffd@0: % do_recolorbar %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%% wolffd@0: elseif strcmp(action,'do_recolorbar') wolffd@0: args = {}; wolffd@0: ud = get(varargin{1},'UserData'); wolffd@0: s = get(ud(1),'String'); wolffd@0: e = 1:length(handles); wolffd@0: if ~isempty(s) wolffd@0: if s(1)=='[' | (s(1)>='1' & s(1)<='9') wolffd@0: sprintf(s,'[%s]',s); wolffd@0: e = eval(s); else e = s; wolffd@0: end wolffd@0: if vis_valuetype(e,{'1xn','nx1','string'}), wolffd@0: if ischar(e) & ~strcmp(e,'all'), wolffd@0: errordlg({'Only valid string value' ... wolffd@0: 'for subplot indices is ''all''.'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: elseif any(e<1) | any(e>length(handles)), wolffd@0: errordlg({'Subplot indices must be in', ... wolffd@0: 'range 1...number_of_subplots.'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: elseif ~isempty(e) wolffd@0: errordlg('Invalid subplot indices!','Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: end wolffd@0: args = [args {e}]; wolffd@0: s = get(ud(3),'String'); wolffd@0: tmp = 'auto'; wolffd@0: if strcmp(s,'auto') | strcmp(s,'border'), wolffd@0: tmp = s; wolffd@0: elseif ~isempty(s) wolffd@0: tmp = evalin('base',s); wolffd@0: end wolffd@0: args = [args {tmp}]; wolffd@0: v = get(ud(4),'Value'); wolffd@0: s = get(ud(4),'String'); wolffd@0: args = [args {s{v}}]; wolffd@0: s = get(ud(2),'String'); wolffd@0: if ~isempty(s) wolffd@0: args = [args {evalin('base',s)}]; wolffd@0: end wolffd@0: thisfig = varargin{1}; wolffd@0: % set(0,'CurrentFigure',udata.vis_h); wolffd@0: set(0,'currentfigure',child) wolffd@0: som_recolorbar(args{:}); wolffd@0: close(thisfig); wolffd@0: wolffd@0: %%%%%%% wolffd@0: % label %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%% wolffd@0: elseif strcmp(action,'label') wolffd@0: args = {'label'}; wolffd@0: ud = get(varargin{1},'UserData'); wolffd@0: s = get(ud(2),'String'); wolffd@0: if ~isempty(s) wolffd@0: args = [args {evalin('base',s)}]; wolffd@0: else wolffd@0: args = [args {udata.sM}]; wolffd@0: end wolffd@0: s = get(ud(3),'String'); wolffd@0: if ~isempty(s) wolffd@0: args = [args {'TextSize' eval(s)}]; wolffd@0: end wolffd@0: v = get(ud(4),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(4),'UserData'); wolffd@0: args = [args {'TextColor' s{v}}]; wolffd@0: end wolffd@0: s = get(ud(1),'String'); wolffd@0: if ~isempty(s) wolffd@0: if s(1)=='[' | (s(1)>='1' & s(1)<='9') wolffd@0: sprintf(s,'[%s]',s); wolffd@0: e = eval(s); else e = s; wolffd@0: end wolffd@0: if vis_valuetype(e,{'1xn','nx1','string'}), wolffd@0: if ischar(e), wolffd@0: if ~strcmp(e,'all'), wolffd@0: errordlg({'Only valid string value' ... wolffd@0: 'for subplot indices is ''all''.'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: else wolffd@0: e=1:length(handles); wolffd@0: end wolffd@0: elseif any(e<1) | any(e>length(handles)), wolffd@0: errordlg({'Subplot indices must be in', ... wolffd@0: 'range 1...number_of_subplots!'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: elseif ~isempty(e) wolffd@0: errordlg('Invalid subplot indices!','Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: args = [args {'SubPlot' e}]; wolffd@0: end wolffd@0: thisfig = varargin{1}; wolffd@0: % set(0,'CurrentFigure',udata.vis_h); wolffd@0: set(0,'currentfigure',child) wolffd@0: som_show_add(args{:}); wolffd@0: close(thisfig); wolffd@0: wolffd@0: %%%%% wolffd@0: % hit %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%% wolffd@0: elseif strcmp(action,'hit') wolffd@0: args = {'hit'}; wolffd@0: ud = get(varargin{1},'UserData'); wolffd@0: s = get(ud(2),'String'); wolffd@0: e = evalin('base',s); wolffd@0: [dummy k] = size(e); wolffd@0: args = [args {e}]; wolffd@0: v = get(ud(10),'Value'); wolffd@0: s = get(ud(10),'UserData'); wolffd@0: args = [args {'EdgeColor' s{v}}]; wolffd@0: % wolffd@0: s = get(ud(7),'String'); wolffd@0: if ~isempty(s) wolffd@0: args = [args {'MarkerSize' eval(s)}]; wolffd@0: end wolffd@0: if k == 1, wolffd@0: v = get(ud(6),'Value'); wolffd@0: if v<16, wolffd@0: s = get(ud(6),'String'); wolffd@0: args = [args {'Marker' s{v}}]; wolffd@0: else wolffd@0: % errordlg(); wolffd@0: return; wolffd@0: end wolffd@0: v = get(ud(9),'Value'); wolffd@0: if v<10, wolffd@0: s = get(ud(9),'UserData'); wolffd@0: args = [args {'MarkerColor' s{v}}]; wolffd@0: else wolffd@0: % errordlg(); wolffd@0: return; wolffd@0: end wolffd@0: % wolffd@0: v = get(ud(5),'Value'); wolffd@0: s = get(ud(5),'String'); wolffd@0: args = [args {'Text' s{v}}]; wolffd@0: if v>1, % 1='off' wolffd@0: v = get(ud(3),'Value'); wolffd@0: s = get(ud(3),'UserData'); wolffd@0: args = [args {'TextColor' s{v}}]; wolffd@0: % wolffd@0: s = get(ud(4),'String'); wolffd@0: args = [args {'TextSize' eval(s)}]; wolffd@0: end wolffd@0: else wolffd@0: v = get(ud(8),'Value'); wolffd@0: s = get(ud(8),'String'); wolffd@0: args = [args {'SizeFactor' s{v}}]; wolffd@0: % wolffd@0: v = get(ud(6),'Value'); wolffd@0: s = get(ud(6),'String'); wolffd@0: args = [args {'Marker' s{v}}]; wolffd@0: % wolffd@0: v = get(ud(9),'Value'); wolffd@0: s = get(ud(9),'UserData'); wolffd@0: args = [args {'MarkerColor' s{v}}]; wolffd@0: end wolffd@0: wolffd@0: s = get(ud(1),'String'); wolffd@0: if ~isempty(s) wolffd@0: if s(1)=='[' | (s(1)>='1' & s(1)<='9') wolffd@0: sprintf(s,'[%s]',s); wolffd@0: e = eval(s); else e = s; wolffd@0: end wolffd@0: if vis_valuetype(e,{'1xn','nx1','string'}), wolffd@0: if ischar(e), wolffd@0: if ~strcmp(e,'all'), wolffd@0: errordlg({'Only valid string value' ... wolffd@0: 'for subplot indices is ''all''.'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: else wolffd@0: e=1:length(handles); wolffd@0: end wolffd@0: elseif any(e<1) | any(e>length(handles)), wolffd@0: errordlg({'Subplot indices must be in', ... wolffd@0: 'range 1...number_of_subplots!'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: elseif ~isempty(e) wolffd@0: errordlg('Invalid subplot indices!','Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: args = [args {'SubPlot' e}]; wolffd@0: end wolffd@0: thisfig = varargin{1}; wolffd@0: % set(0,'CurrentFigure',udata.vis_h); wolffd@0: set(0,'currentfigure',child) wolffd@0: som_show_add(args{:}); wolffd@0: close(thisfig); wolffd@0: wolffd@0: %%%%%% wolffd@0: % traj %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%% wolffd@0: elseif strcmp(action,'traj') wolffd@0: args = {'traj'}; wolffd@0: ud = get(varargin{1},'UserData'); wolffd@0: s = get(ud(2),'String'); wolffd@0: args = [args {evalin('base',s)}]; wolffd@0: s = get(ud(4),'String'); wolffd@0: if ~isempty(s) wolffd@0: args = [args {'TrajWidth' eval(s)}]; wolffd@0: end wolffd@0: v = get(ud(5),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(5),'String'); wolffd@0: args = [args {'WidthFactor' s{v}}]; wolffd@0: end wolffd@0: v = get(ud(3),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(3),'UserData'); wolffd@0: args = [args {'TrajColor' s{v}}]; wolffd@0: end wolffd@0: v = get(ud(6),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(6),'String'); wolffd@0: args = [args {'Marker' s{v}}]; wolffd@0: end wolffd@0: s = get(ud(7),'String'); wolffd@0: if ~isempty(s) wolffd@0: args = [args {'MarkerSize' eval(s)}]; wolffd@0: end wolffd@0: v = get(ud(8),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(8),'String'); wolffd@0: args = [args {'SizeFactor' s{v}}]; wolffd@0: end wolffd@0: v = get(ud(9),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(9),'UserData'); wolffd@0: args = [args {'MarkerColor' s{v}}]; wolffd@0: end wolffd@0: v = get(ud(10),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(10),'UserData'); wolffd@0: args = [args {'EdgeColor' s{v}}]; wolffd@0: end wolffd@0: s = get(ud(1),'String'); wolffd@0: if ~isempty(s) wolffd@0: if s(1)=='[' | (s(1)>='1' & s(1)<='9') wolffd@0: sprintf(s,'[%s]',s); wolffd@0: e = eval(s); else e = s; wolffd@0: end wolffd@0: if vis_valuetype(e,{'1xn','nx1','string'}), wolffd@0: if ischar(e), wolffd@0: if ~strcmp(e,'all'), wolffd@0: errordlg({'Only valid string value' ... wolffd@0: 'for subplot indices is ''all''.'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: else wolffd@0: e=1:length(handles); wolffd@0: end wolffd@0: elseif any(e<1) | any(e>length(handles)), wolffd@0: errordlg({'Subplot indices must be in', ... wolffd@0: 'range 1...number_of_subplots!'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: elseif ~isempty(e) wolffd@0: errordlg('Invalid subplot indices!','Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: args = [args {'SubPlot' e}]; wolffd@0: end wolffd@0: thisfig = varargin{1}; wolffd@0: % set(0,'CurrentFigure',udata.vis_h); wolffd@0: set(0,'currentfigure',child) wolffd@0: som_show_add(args{:}); wolffd@0: close(thisfig); wolffd@0: wolffd@0: %%%%%%% wolffd@0: % comet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%% wolffd@0: elseif strcmp(action,'comet') wolffd@0: args = {'comet'}; wolffd@0: ud = get(varargin{1},'UserData'); wolffd@0: s = get(ud(2),'String'); wolffd@0: args = [args {evalin('base',s)}]; wolffd@0: v = get(ud(3),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(3),'String'); wolffd@0: args = [args {'Marker' s{v}}]; wolffd@0: end wolffd@0: s = get(ud(4),'String'); wolffd@0: if ~isempty(s) wolffd@0: args = [args {'MarkerSize' eval(s)}]; wolffd@0: end wolffd@0: v = get(ud(5),'Value'); wolffd@0: s = get(ud(5),'UserData'); wolffd@0: if v==10, wolffd@0: args = [args {'MarkerColor' evalin('base',s{10})}]; wolffd@0: else wolffd@0: args = [args {'MarkerColor' s{v}}]; wolffd@0: end wolffd@0: v = get(ud(6),'Value'); wolffd@0: if v>1, wolffd@0: s = get(ud(6),'UserData'); wolffd@0: args = [args {'EdgeColor' s{v}}]; wolffd@0: end wolffd@0: s = get(ud(1),'String'); wolffd@0: if ~isempty(s) wolffd@0: if s(1)=='[' | (s(1)>='1' & s(1)<='9') wolffd@0: sprintf(s,'[%s]',s); wolffd@0: e = eval(s); else e = s; wolffd@0: end wolffd@0: if vis_valuetype(e,{'1xn','nx1','string'}), wolffd@0: if ischar(e), wolffd@0: if ~strcmp(e,'all'), wolffd@0: errordlg({'Only valid string value' ... wolffd@0: 'for subplot indices is ''all''.'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: else wolffd@0: e=1:length(handles); wolffd@0: end wolffd@0: elseif any(e<1) | any(e>length(handles)), wolffd@0: errordlg({'Subplot indices must be in', ... wolffd@0: 'range 1...number_of_subplots!'}, ... wolffd@0: 'Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: elseif ~isempty(e) wolffd@0: errordlg('Invalid subplot indices!','Error in SOM_VIS: tools'); wolffd@0: return; wolffd@0: end wolffd@0: args = [args {'SubPlot' e}]; wolffd@0: end wolffd@0: thisfig = varargin{1}; wolffd@0: % set(0,'CurrentFigure',udata.vis_h); wolffd@0: set(0,'currentfigure',child) wolffd@0: som_show_add(args{:}); wolffd@0: close(thisfig); wolffd@0: wolffd@0: %%%%%%%% wolffd@0: % select %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%% wolffd@0: elseif strcmp(action,'select') wolffd@0: %% NOTE: input h is not main_gui_handle wolffd@0: %% but edit menu handle wolffd@0: w = evalin('base','whos'); wolffd@0: for (i=1:length(w)) wolffd@0: size_frst{i} = mat2str(w(i).size(1)); wolffd@0: x(i,1) = 'x'; wolffd@0: size_scnd{i} = mat2str(w(i).size(2)); wolffd@0: end wolffd@0: names = strvcat(w.name); wolffd@0: [dummy vert] = size(names); wolffd@0: for (i=1:length(w)) wolffd@0: for (j=1:8) wolffd@0: sp(i,j) = ' '; wolffd@0: end wolffd@0: end wolffd@0: size_M = strjust(strvcat(size_frst{:}),'right'); wolffd@0: size_N = strjust(strvcat(size_scnd{:}),'left'); wolffd@0: classes = strvcat(w.class); wolffd@0: s = [cellstr([names sp size_M x size_N sp classes])]'; wolffd@0: wolffd@0: [sel,ok] = listdlg('ListString',s,... wolffd@0: 'Name','Variable selection',... wolffd@0: 'PromptString','Select variable', ... wolffd@0: 'SelectionMode','single'); wolffd@0: if ok & ~isempty(sel), wolffd@0: w = {w.name}; wolffd@0: if ishandle(h), wolffd@0: set(h,'String',w{sel}); wolffd@0: elseif nargout==1, wolffd@0: r = w{sel}; wolffd@0: end wolffd@0: elseif nargout==1, wolffd@0: r = ''; wolffd@0: end wolffd@0: wolffd@0: %%%%%%%%%%%%%% wolffd@0: % popup_select %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%% wolffd@0: elseif strcmp(action,'popup_select') wolffd@0: %% NOTE: input h is not main_gui_handle wolffd@0: %% but h(1) is popupmenu handle and h(2:end) are indeces wolffd@0: v = get(h(1),'Value'); wolffd@0: if any(v==h(2:end)), wolffd@0: w = evalin('base','whos'); wolffd@0: for (i=1:length(w)) wolffd@0: size_frst{i} = mat2str(w(i).size(1)); wolffd@0: x(i,1) = 'x'; wolffd@0: size_scnd{i} = mat2str(w(i).size(2)); wolffd@0: end wolffd@0: names = strvcat(w.name); wolffd@0: [dummy vert] = size(names); wolffd@0: for (i=1:length(w)) wolffd@0: for (j=1:8) wolffd@0: sp(i,j) = ' '; wolffd@0: end wolffd@0: end wolffd@0: size_M = strjust(strvcat(size_frst{:}),'right'); wolffd@0: size_N = strjust(strvcat(size_scnd{:}),'left'); wolffd@0: classes = strvcat(w.class); wolffd@0: s = [cellstr([names sp size_M x size_N sp classes])]'; wolffd@0: [sel,ok] = listdlg('ListString',s,... wolffd@0: 'Name','Variable selection',... wolffd@0: 'PromptString','Select variable', ... wolffd@0: 'SelectionMode','single'); wolffd@0: if ok & ~isempty(sel), wolffd@0: w = {w.name}; wolffd@0: i = find(v==h(2:end)); wolffd@0: s = get(h(1),'String'); wolffd@0: s{h(i+1)} = w{sel}; wolffd@0: set(h(1),'String',s); wolffd@0: if nargout==1, wolffd@0: r = w{sel}; wolffd@0: end wolffd@0: elseif nargout==1, wolffd@0: r = ''; wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: end wolffd@0: