0001 function cb_logmenu(handle, event)
0002
0003
0004
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
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',
0019
0020 temp = get(userdata.axes, userdata.limits);
0021 set(userdata.axes, userdata.limits, userdata.backlims);
0022 userdata.backlims = temp;
0023
0024 temp = get(userdata.imageobj, 'CData');
0025 set(userdata.imageobj, 'CData', userdata.backdata);
0026 userdata.backdata = temp;
0027
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);