Home > chronux_1_15 > spikesort > utility > hgtools > private > CB_logmenu.m

CB_logmenu

PURPOSE ^

CB_LOGMENU Callback for HGlogmenu.

SYNOPSIS ^

function cb_logmenu(handle, event)

DESCRIPTION ^

CB_LOGMENU        Callback for HGlogmenu.

CROSS-REFERENCE INFORMATION ^

This function calls: This function is called by:

SOURCE CODE ^

0001 function cb_logmenu(handle, event)
0002 %CB_LOGMENU        Callback for HGlogmenu.
0003 
0004 %%%%%%%%%%%%%%%%%%%%%%%% Determine toggle state %%%%%%%%%%%%%%%%%%%%%%
0005 userdata=get(handle, 'UserData');
0006 switch(get(handle,'Checked')),
0007     case 'on',  toggle = 'off';  scale = 'linear';
0008     case 'off', toggle = 'on';   scale = 'log';
0009 end
0010 set(handle, 'Checked',  toggle); 
0011 
0012 %%%%%%%%%%%%%%%%%%%%%%%%%% Change the display %%%%%%%%%%%%%%%%%%%%%%%%
0013 switch(userdata.limits(1)),
0014     case 'Y',
0015         set(userdata.axes, 'YScale', scale);
0016     case 'Z',
0017         set(userdata.axes, 'ZScale', scale);
0018     case 'C',  % this one is more work
0019         % first swap limits
0020         temp = get(userdata.axes, userdata.limits);  
0021         set(userdata.axes, userdata.limits, userdata.backlims);
0022         userdata.backlims = temp;   % remember last limits setting ...
0023         % then swap data
0024         temp = get(userdata.imageobj, 'CData');
0025         set(userdata.imageobj, 'CData', userdata.backdata);
0026         userdata.backdata = temp;
0027         % then refresh colorbar if one exists
0028         h = find_colorbar(userdata.axes);
0029         if (~isempty(h)),
0030             cbar_pos = get(h,'Position');     axes_pos = get(userdata.axes,'Position');
0031             if (cbar_pos(1) > sum(axes_pos([1,3]))), loc = 'vert'; else, loc = 'horiz'; end;
0032             colorbar(loc, 'peer', userdata.axes); 
0033         end;
0034         
0035     otherwise, error('HGlogmenu error: invalid mode.');
0036 end
0037 
0038 set(handle, 'UserData', userdata);

Generated on Tue 15-Aug-2006 22:51:57 by m2html © 2003