Mercurial > hg > camir-aes2014
diff toolboxes/MIRtoolbox1.3.2/somtoolbox/som_show_gui.m @ 0:e9a9cd732c1e tip
first hg version after svn
author | wolffd |
---|---|
date | Tue, 10 Feb 2015 15:05:51 +0000 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/toolboxes/MIRtoolbox1.3.2/somtoolbox/som_show_gui.m Tue Feb 10 15:05:51 2015 +0000 @@ -0,0 +1,708 @@ +function fig = som_show_gui(input,varargin) + +%SOM_SHOW_GUI A GUI for using SOM_SHOW and associated functions. +% +% h = som_show_gui(sM); +% +% Input and output arguments: +% sM (struct) a map struct: the SOM to visualize +% h (scalar) a handle to the GUI figure +% +% This is a graphical user interface to make the usage of SOM_SHOW and +% associated functions somewhat easier for beginning users of the SOM +% Toolbox. +% +% How to use the GUI: +% 1. Start the GUI by giving command som_show_gui(sM); +% 2. Build a list of visualization planes using the buttons +% ('Add components', etc.) on the right +% - the options associated with each of the planes can be +% modified by selecting a plane from the list, and pressing +% the 'Plane options' button +% - the controls below the list apply to all planes +% - the subplot grid size can be controlled using the 'subplots' +% field on top right corner, e.g. '4 3' to get 4 times 3 grid +% 3. To visualize the planes, press the 'Visualize' button on the bottom. +% 4. To add hits, labels, trajectories (or comets) to the +% visualization, or clear them, or reset the colorbars, +% see the tools available from the 'Tools' menu. +% - the arguments to those tools are either given in the tool, +% or read from the workspace ('Select variable' buttons) +% - the tools always apply to the latest figure created +% by the GUI +% 5. To quit, press the 'Close' button on the bottom. +% +% Known bugs: +% - Especially when using the adding tools, you can easily +% give arguments which do not fit each other, and this +% results in a lengthy (and often cryptic) error message. +% In such a case, check the arguments you are giving to see +% if there's something wrong with them. See function +% SOM_SHOW_ADD for more information on how the options +% can be set. +% - The default values in the adding tools may not be +% very reasonable: you may have to try out different +% values for e.g. markersize before getting the kind of +% result you want. +% +% SOM_SHOW_GUI has two subfunctions: VIS_SHOW_GUI_COMP and +% VIS_SHOW_GUI_TOOL. These are for internal use of SOM_SHOW_GUI. +% +% See also SOM_SHOW, SOM_SHOW_ADD, SOM_SHOW_CLEAR, SOM_RECOLORBAR. + +% Copyright (c) 2000 by Roman Feldman and Juha Vesanto +% Contributed to SOM Toolbox on August 22nd, 2000 +% http://www.cis.hut.fi/projects/somtoolbox/ + +% Version 2.0beta roman 160800 juuso 220800 + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% MAIN % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +warning off; +if (nargin < 1) + errordlg({'Make sure you have SOM as input argument'; ''; ... + 'example: som_show_gui(sMap)'},'Error in SOM_VIS: input arguments'); + return +end + +if isstruct(input) + fig_h = create_main_gui(input); + if (nargout > 0) fig = fig_h; end + return; + +elseif ischar(input) + action = lower(input); + + % + udata = get(varargin{1},'UserData'); + plot_array = udata.plot_array; + l = length(plot_array); + list1_h = udata.h(1); + + if (strcmp(action,'')) + errordlg('','Error in SOM_VIS: input arguments'); + return; + + %%%%%%%%%%%%%%%%%%%% + % add_selected_comp + % + elseif (strcmp(action,'add_selected_comp')) + if isempty(plot_array(1).string), tmp = 1; else tmp = l+1; end + [sel,ok] = listdlg('ListString',udata.sM.comp_names,... + 'Name','Component selection',... + 'PromptString','Select components to add'); + if ok & ~isempty(sel), + for i=1:length(sel), + plot_array(tmp+i-1).string = udata.sM.comp_names{sel(i)}; + plot_array(tmp+i-1).args = {'comp' sel(i)}; + udata.property{tmp+i-1} = {0}; + end + set(list1_h,'Value',tmp+i-1, ... + 'String',{plot_array(:).string}); + end + + udata.plot_array = plot_array; + set(varargin{1},'UserData',udata); + + %%%%%%%%%%%%%%%%%%%% + % add_all_comps + % + elseif (strcmp(action,'add_all_comps')) + if (strcmp(plot_array(1).string,'')) + tmp = 1; + else + tmp = l+1; + end + indx = length(udata.sM.comp_names); + for (i=1:indx) + plot_array(tmp+i-1).string = udata.sM.comp_names{i}; + plot_array(tmp+i-1).args = {'comp' i}; + udata.property{tmp+i-1} = {0}; + end + % update list + set(list1_h,'Value',tmp+indx-1, ... + 'String',{plot_array(:).string}); + + udata.plot_array = plot_array; + set(varargin{1},'UserData',udata); + + %%%%%%%%%%%%%%%%%%%% + % add_u_matrix + % + elseif (strcmp(action,'add_u_matrix')) + if (strcmp(plot_array(1).string,'')) + tmp = 1; + else + tmp = l+1; + end + plot_array(tmp).string = 'U-matrix'; + plot_array(tmp).args = {'umat' 'all'}; + udata.property{tmp} = {0 'U-matrix' 1:length(udata.sM.comp_names)}; + % update list + set(list1_h,'Value',tmp, ... + 'String',{plot_array(:).string}); + + udata.plot_array = plot_array; + set(varargin{1},'UserData',udata); + + %%%%%%%%%%%%%%%%%%%% + % add_colorplane + % + elseif (strcmp(action,'add_colorplane')) + if (strcmp(plot_array(1).string,'')) + tmp = 1; + else + tmp = l+1; + end + plot_array(tmp).string = 'color plane'; + c = som_colorcode(udata.sM); + plot_array(tmp).args = {'color' c}; + udata.property{tmp} = {0 'Color code' {'rgb1' 'rgb2' 'rgb3' 'rgb4' 'hsv' '-variable-'} 1}; + % update list + set(list1_h,'Value',tmp, ... + 'String',{plot_array(:).string}); + + udata.plot_array = plot_array; + set(varargin{1},'UserData',udata); + + %%%%%%%%%%%%%%%%%%%% + % add_empty + % + elseif (strcmp(action,'add_empty')) + if (strcmp(plot_array(1).string,'')) + tmp = 1; + else + tmp = l+1; + end + plot_array(tmp).string = 'empty plane'; + plot_array(tmp).args = {'empty' ''}; + udata.property{tmp} = {''}; + % update list + set(list1_h,'Value',tmp, ... + 'String',{plot_array(:).string}); + + udata.plot_array = plot_array; + set(varargin{1},'UserData',udata); + + %%%%%%%%%%%%%%%%%%%% + % remove + % + elseif (strcmp(action,'remove')) + rm_indx = get(list1_h,'Value'); + rm_l = length(rm_indx); + % rebuild array + incl_inds = setdiff(1:length(plot_array),rm_indx); + if isempty(incl_inds), + clear plot_array; + plot_array(1).args = {}; + plot_array(1).string = ''; + udata.property = {}; + udata.property{1} = {}; + else + plot_array = plot_array(incl_inds); + udata.property = udata.property(incl_inds); + end + set(list1_h,'Value',length(plot_array), ... + 'String',{plot_array(:).string}); + + udata.plot_array = plot_array; + set(varargin{1},'UserData',udata); + + %%%%%%%%%%%%%%%%%%%% + % remove_all + % + elseif (strcmp(action,'remove_all')) + plot_array = []; + plot_array(1).args = {}; + plot_array(1).string = ''; + udata.property = {}; + set(list1_h,'Value',1, ... + 'String',{plot_array(:).string}); + + udata.plot_array = plot_array; + set(varargin{1},'UserData',udata); + + %%%%%%%%%%%%%%%%%%%% + % more_options + % + elseif (strcmp(action,'more_options')) + vis_show_gui_comp(varargin{1},get(list1_h,'Value'),'init'); + + %%%%%%%%%%%%%%%%%%%% + % close + % + elseif (strcmp(action,'close')) + close(varargin{1}); + + %%%%%%%%%%%%%%%%%%%% + % visualize + % + elseif (strcmp(action,'visualize')) %% s = {k k.^2}; plot(s{:}); + current_fig = varargin{1}; + figure; + args = [{udata.sM} plot_array(:).args]; + % edge + tmp = get(udata.h(2),'UserData'); + i = get(udata.h(2),'Value'); + args = [args {'edge' tmp{i}}]; + % bar + tmp = get(udata.h(3),'UserData'); + i = get(udata.h(3),'Value'); + args = [args {'bar' tmp{i}}]; + % norm + tmp = get(udata.h(4),'UserData'); + i = get(udata.h(4),'Value'); + args = [args {'norm' tmp{i}}]; + % size + tmp = get(udata.h(5),'String'); + args = [args {'size' eval(tmp)}]; + % colormap + tmp = get(udata.h(6),'String'); + if ~isempty(tmp) + args = [args {'colormap' eval(tmp)}]; + end + % footnote + tmp = get(udata.h(7),'String'); + args = [args {'footnote' tmp}]; + % subplots + tmp = get(udata.h(8),'String'); + if ~(strcmp(tmp,'default') | isempty(tmp)) + tmp2 = sscanf(tmp,'%i %i'); + if length(tmp2)<2, tmp2 = sscanf(tmp,'%ix%i'); end + if length(tmp2)<2, tmp = eval(tmp); + else tmp = tmp2'; + end + if length(tmp)<2, tmp(2) = 1; end + if tmp(1)*tmp(2)<length(get(udata.h(1),'string')), + close(varargin{1}); + errordlg('Too small subplot size', ... + 'Error in SOM_VIS: subplot size'); + return; + end + args = [args {'subplots' tmp}]; + end + + som_show(args{:}); + + % udata.vis_h = varargin{1}; + % first refresh plot info + udata.vis_h = setdiff( ... + udata.vis_h, ... + setdiff(udata.vis_h,get(0,'children'))); + udata.vis_h = [udata.vis_h gcf]; + set(current_fig,'UserData',udata); + + else + ; + end + +else + errordlg({'Make sure you have SOM as input argument'; ''; ... + 'example: som_show_gui(sMap)'},'Error in SOM_VIS: input arguments'); +end + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% ---------------------- SUBFUNCTIONS ----------------------- % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% CREATE_MAIN_GUI % +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% + +function fig_h = create_main_gui(sM) + +oldFigNumber=watchon; + +% init variables +FIGURENAME = 'SOM_SHOW_GUI'; +plot_array = []; +plot_array(1).args = {}; +plot_array(1).string = ''; + +% colors +fig_color = [0.8 0.8 0.8]; +bg_color1 = [0.701960784313725 0.701960784313725 0.701960784313725]; +bg_color2 = [0.9 0.9 0.9]; + +%%%% positions %%%%% +%--------- figure +fig_i = [0.02 0.25]; +fig_s = [0.24 0.55]; +%--------- +ue = 0.02; +th = 0.03; +hint_text_pos = [0.05 0.94 0.8 th]; +big_frame_pos = [ue 0.38 (1-2*ue) 0.56]; +planes_listbox_text_pos = [0.07 0.87 0.3 th]; +planes_listbox_pos = [(ue+0.03) 0.395 0.46 0.47]; +subplots_text_pos = [0.53 0.885 0.2 th]; +subplots_pos = [0.73 0.88 0.22 0.05]; ah = 0.045; d = (planes_listbox_pos(4) - 10*ah)/7; +add_components_pos = [0.53 (sum(planes_listbox_pos([2 4]))-ah) 0.42 ah]; tmp = add_components_pos(2)-(d+ah); +add_all_components_pos = [0.53 tmp 0.42 ah]; tmp = add_all_components_pos(2)-(d+ah); +add_u_matrix_pos = [0.53 tmp 0.42 ah]; tmp = add_u_matrix_pos(2)-(d+ah); +add_colorplane_pos = [0.53 tmp 0.42 ah]; tmp = add_colorplane_pos(2)-(d+ah); +add_empty_pos = [0.53 tmp 0.42 ah]; tmp = add_empty_pos(2)-2*(d+ah)+d; +remove_pos = [0.53 tmp 0.42 ah]; tmp = remove_pos(2)-(d+ah); +remove_all_pos = [0.53 tmp 0.42 ah]; tmp = remove_all_pos(2)-2*(d+ah)+d; +plane_options_pos = [0.53 tmp 0.42 ah]; +ph = 0.041; +dd = (ph-th)/2; +tmp = big_frame_pos(2) - (planes_listbox_pos(2)-big_frame_pos(2)) - ph; +ie1 = 0.25; +tw = 0.21; +iw = 0.28; +unit_edges_text_pos = [ue (tmp+dd) tw th]; +unit_edges_pos = [ie1 tmp iw ph]; tmp = unit_edges_pos(2)-(d+ph) - d; +unit_sizes_text_pos = [ue (tmp+dd) tw th]; +unit_sizes_pos = [ie1 tmp iw ph]; tmp = unit_sizes_pos(2)-(d+ph) - d; +colorbar_dir_text_pos = [ue (tmp+dd) tw th]; +colorbar_dir_pos = [ie1 tmp iw ph]; tmp2 = sum(colorbar_dir_pos([1 3])); +colorbar_norm_text_pos = [(tmp2) (tmp+dd) 0.11 th]; +colorbar_norm_pos = [(1-ue-(iw+0.06)) tmp (iw+0.06) ph]; tmp = colorbar_norm_pos(2)-(d+ph) - d; +colormap_text_pos = [ue (tmp+dd) tw th]; +colormap_pos = [ie1 tmp iw ph]; tmp = colormap_pos(2)-(d+ph) - d; +footnote_text_pos = [ue (tmp+dd) tw th]; +footnote_pos = [ie1 tmp (1-ue-ie1) ph]; +tmp = planes_listbox_pos(2)-big_frame_pos(2); +tmp2 = ah+2*tmp; +little_frame_pos = [ue tmp (1-2*ue) tmp2]; tmp2 = little_frame_pos(2)+tmp; +ddd = 0.1; +bw = (little_frame_pos(3)-2*0.03-ddd)/2; +visualize_pos = [(ue+0.03) tmp2 bw ah]; +close_pos = [(sum(visualize_pos([1 3]))+ddd) tmp2 bw ah]; + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% main figure +% +fig_h = figure( ... + 'Units','normalized', ... + 'Color',fig_color, ... + 'PaperPosition',[18 180 576 432], ... + 'PaperType','A4', ... + 'PaperUnits','normalized', ... + 'Position',[fig_i fig_s], ... + 'ToolBar','none', ... + 'NumberTitle','off', ... + 'Name',FIGURENAME, ... + 'Visible','off'); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% hint text +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',fig_color, ... + 'HorizontalAlignment','left', ... + 'Position',hint_text_pos, ... + 'String','Add planes and then visualize', ... + 'Style','text'); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% planes listbox +% +uicontrol( ... + 'Units','normalized', ... + 'Position',big_frame_pos, ... + 'Style','frame'); + +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color1, ... + 'HorizontalAlignment','left', ... + 'Position',planes_listbox_text_pos, ... + 'String','Planes', ... + 'Style','text'); + +list1_h = uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color2, ... + 'Position',planes_listbox_pos, ... + 'String',{plot_array(:).string}, ... + 'Style','listbox', ... + 'Max',2, ... + 'Value',1); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% edit subplots +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color1, ... + 'HorizontalAlignment','center', ... + 'Position',subplots_text_pos, ... + 'String','subplots', ... + 'Style','text'); + +edit4_h = uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color2, ... + 'Position',subplots_pos, ... + 'FontSize',14, ... + 'String','', ... + 'Style','edit'); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Add components' +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color1, ... + 'HorizontalAlignment','left', ... + 'Position',add_components_pos, ... + 'String',' Add components', ... + 'Callback',['som_show_gui(''add_selected_comp'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Add all components' +% +uicontrol( ... + 'Units','normalized', ... + 'HorizontalAlignment','left', ... + 'Position',add_all_components_pos, ... + 'String',' Add all components', ... + 'Callback',['som_show_gui(''add_all_comps'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Add U-matrix' +% +uicontrol( ... + 'Units','normalized', ... + 'HorizontalAlignment','left', ... + 'Position',add_u_matrix_pos, ... + 'String',' Add U-matrix', ... + 'Callback',['som_show_gui(''add_u_matrix'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Add colorplane' +% +uicontrol( ... + 'Units','normalized', ... + 'HorizontalAlignment','left', ... + 'Position',add_colorplane_pos, ... + 'String',' Add colorplane', ... + 'Callback',['som_show_gui(''add_colorplane'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Add empty' +% +uicontrol( ... + 'Units','normalized', ... + 'HorizontalAlignment','left', ... + 'Position',add_empty_pos, ... + 'String',' Add empty', ... + 'Callback',['som_show_gui(''add_empty'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Remove' +% +uicontrol( ... + 'Units','normalized', ... + 'HorizontalAlignment','left', ... + 'Position',remove_pos, ... + 'String',' Remove', ... + 'Callback',['som_show_gui(''remove'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% creat pushbutton 'Remove all' +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color1, ... + 'HorizontalAlignment','left', ... + 'Position',remove_all_pos, ... + 'String',' Remove all', ... + 'Callback',['som_show_gui(''remove_all'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Plane options' +% +uicontrol( ... + 'Units','normalized', ... + 'Position',plane_options_pos, ... + 'String',' Plane options', ... + 'Callback',['som_show_gui(''more_options'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% popupmenu unitedges +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',fig_color, ... + 'HorizontalAlignment','left', ... + 'Position',unit_edges_text_pos, ... + 'String','unit edges are', ... + 'Style','text'); + +popup1_h = uicontrol( ... + 'Units','normalized', ... + 'Max',2, ... + 'Min',1, ... + 'Position',unit_edges_pos, ... + 'UserData',{'off' 'on'}, ... + 'String',{'off' 'on'}, ... + 'Style','popupmenu', ... + 'Value',1); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% unit sizes edit +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',fig_color, ... + 'HorizontalAlignment','left', ... + 'Position',unit_sizes_text_pos, ... + 'String','unit sizes', ... + 'Style','text'); + +edit1_h = uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color2, ... + 'Position',unit_sizes_pos, ... + 'FontSize',12, ... + 'String','1', ... + 'Style','edit'); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% popupmenu colorbardir +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',fig_color, ... + 'HorizontalAlignment','left', ... + 'Position',colorbar_dir_text_pos, ... + 'String','colorbar is', ... + 'Style','text'); + +popup2_h = uicontrol( ... + 'Units','normalized', ... + 'Max',3, ... + 'Min',1, ... + 'Position',colorbar_dir_pos, ... + 'UserData', {'vert' 'horiz' 'none'}, ... + 'String','vert| horiz| none', ... + 'Style','popupmenu', ... + 'Value',1); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% popupmenu colorbarnorm +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',fig_color, ... + 'HorizontalAlignment','left', ... + 'Position',colorbar_norm_text_pos, ... + 'String',' and ', ... + 'Style','text'); + +popup3_h = uicontrol( ... + 'Units','normalized', ... + 'Max',2, ... + 'Min',1, ... + 'Position',colorbar_norm_pos, ... + 'UserData', {'d' 'n'}, ... + 'String',{'denormalized','normalized'}, ... + 'Style','popupmenu', ... + 'Value',1); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% colormap edittext +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',fig_color, ... + 'HorizontalAlignment','left', ... + 'Position',colormap_text_pos, ... + 'String','colormap', ... + 'Style','text'); + +edit2_h = uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color2, ... + 'Position',colormap_pos, ... + 'FontSize',12, ... + 'String','', ... + 'Style','edit'); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% footnote edittext +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',fig_color, ... + 'HorizontalAlignment','left', ... + 'Position',footnote_text_pos, ... + 'String','footnote', ... + 'Style','text'); + +edit3_h = uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color2, ... + 'Position',footnote_pos, ... + 'FontSize',12, ... + 'String',sM.name, ... + 'Style','edit'); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Visualize' +% +uicontrol( ... + 'Units','normalized', ... + 'Position',little_frame_pos, ... + 'Style','frame'); + +uicontrol( ... + 'Units','normalized', ... + 'Position',visualize_pos, ... + 'String','Visualize', ... + 'Callback',['som_show_gui(''visualize'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% pushbutton 'Close' +% +uicontrol( ... + 'Units','normalized', ... + 'BackgroundColor',bg_color1, ... + 'Position',close_pos, ... + 'String','Close', ... + 'Callback',['som_show_gui(''close'',' mat2str(gcf) ')']); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% menus +% +uimenu('Parent',fig_h','Label',' ','Enable','off'); +m = uimenu('Parent',fig_h,'Label','Tools'); + a = uimenu('Parent',m,'Label','Add'); + s = strcat('vis_show_gui_tool(',mat2str(gcf),',''add_label'')'); + uimenu('Parent',a,'Label','label','Callback',s); + s = strcat('vis_show_gui_tool(',mat2str(gcf),',''add_hit'')'); + uimenu('Parent',a,'Label','hit','Callback',s); + s = strcat('vis_show_gui_tool(',mat2str(gcf),',''add_traj'')'); + uimenu('Parent',a,'Label','traj','Callback',s); + s = strcat('vis_show_gui_tool(',mat2str(gcf),',''add_comet'')'); + uimenu('Parent',a,'Label','comet','Callback',s); + s = ['vis_show_gui_tool(',mat2str(gcf),',''clear'')']; + c = uimenu('Parent',m,'Label','Clear','Separator','on','callback',s); + s = strcat('vis_show_gui_tool(',mat2str(gcf),',''recolorbar'')'); + r = uimenu('Parent',m,'Label','Recolorbar','Separator','on', ... + 'Callback',s); + +%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% +% end +% + +ud.sM = sM; +ud.plot_array = plot_array; +ud.property = {}; +ud.vis_h = []; +ud.h = [list1_h popup1_h popup2_h popup3_h ... + edit1_h edit2_h edit3_h edit4_h]; + +watchoff(oldFigNumber); +set(fig_h,'Visible','on', ... + 'UserData', ud, ... + 'handlevisibility','off'); +