📄 figmenus.m
字号:
% Handle toggling bits on the slice defaults menu d=getappdata(gcf,'sliceomatic'); set([d.dfacet d.dflat d.dinterp d.dtex d.dtnone d.dtflat d.dtinterp ... d.dttex d.dcflat d.dcinterp d.dcblack d.dcwhite d.dcnone ... d.dlflat d.dlsmooth ... d.smcl1 d.smcl2 d.smcl3 d.smcl4 d.smcl5 d.smcl6 ], 'checked','off'); switch d.defcolor case 'faceted' set(d.dfacet,'checked','on'); case 'flat' set(d.dflat,'checked','on'); case 'interp' set(d.dinterp,'checked','on'); case 'texture' set(d.dtex,'checked','on'); case 'none' set(d.dcnone,'checked','on'); end switch d.defalpha case 'none' set(d.dtnone,'checked','on'); case 'flat' set(d.dtflat,'checked','on'); case 'interp' set(d.dtinterp,'checked','on'); case 'texture' set(d.dttex,'checked','on'); end switch d.deflight case 'flat' set(d.dlflat,'checked','on'); case 'smooth' set(d.dlsmooth,'checked','on'); end switch d.defcontourcolor case 'flat' set(d.dcflat,'checked','on'); case 'interp' set(d.dcinterp,'checked','on'); case 'black' set(d.dcblack,'checked','on'); case 'white' set(d.dcwhite,'checked','on'); end %set(d.dcsmooth,'checked',d.defcontoursmooth); switch d.defcontourlinewidth case 1, set(d.dcl1,'checked','on'); case 2, set(d.dcl2,'checked','on'); case 3, set(d.dcl3,'checked','on'); case 4, set(d.dcl4,'checked','on'); case 5, set(d.dcl5,'checked','on'); case 6, set(d.dcl6,'checked','on'); endfunction slicecontextmenu(fig,action)% Context menu state for slices d=getappdata(gcf,'sliceomatic'); [a s]=getarrowslice; set([d.smfacet d.smflat d.sminterp d.smtex d.smtnone d.smtp5 ... d.smtflat d.smtinterp d.smttex d.smnone d.smcsmooth ],'checked','off'); set(d.vistog,'checked',get(s,'visible')); if propcheck(s,'edgec',[0 0 0]) set(d.smfacet,'checked','on'); elseif propcheck(s,'facec','flat') set(d.smflat,'checked','on'); end if propcheck(s,'facec','interp') set(d.sminterp,'checked','on'); end if propcheck(s,'facec','texturemap') set(d.smtex,'checked','on'); end if propcheck(s,'facec','none') set(d.smnone,'checked','on'); end if propcheck(s,'facea',1) set(d.smtnone,'checked','on'); end if propcheck(s,'facea',.5) set(d.smtp5,'checked','on'); end if propcheck(s,'facea','flat') set(d.smtflat,'checked','on'); end if propcheck(s,'facea','interp') set(d.smtinterp,'checked','on'); end if propcheck(s,'facea','texturemap') set(d.smttex,'checked','on'); end cm = [d.smcflat d.smcinterp d.smcblack d.smcwhite d.smccolor ... d.smcl1 d.smcl2 d.smcl3 d.smcl4 d.smcl5 d.smcl6 ]; set(cm,'checked','off'); if isempty(getappdata(s,'contour')) set(d.smcontour,'enable','on'); set(d.smcsetauto,'enable','off'); set(d.smcsetav,'enable','off'); set(d.smclevels,'enable','off'); set(d.smrcontour,'enable','off'); set(d.smcsmooth,'enable','off'); set(cm,'enable','off'); else set(d.smcontour,'enable','off') set(d.smcsetauto,'enable','on'); set(d.smcsetav,'enable','on'); set(d.smclevels,'enable','on'); set(d.smrcontour,'enable','on') set(d.smcsmooth,'enable','on'); set(cm,'enable','on') c = getappdata(s,'contour'); if propcheck(c,'linesmoothing','on') set(d.smcsmooth,'checked','on'); end ec = get(c,'edgecolor'); if isa(ec,'char') switch ec case 'flat' set(d.smcflat,'checked','on'); case 'interp' set(d.smcinterp,'checked','on'); end else if ec == [ 1 1 1 ] set(d.smcwhite,'checked','on'); elseif ec == [ 0 0 0 ] set(d.smcblack,'checked','on'); else set(d.smccolor,'checked','on'); end end clw = get(c,'linewidth'); switch clw case 1, set(d.smcl1,'checked','on'); case 2, set(d.smcl2,'checked','on'); case 3, set(d.smcl3,'checked','on'); case 4, set(d.smcl4,'checked','on'); case 5, set(d.smcl5,'checked','on'); case 6, set(d.smcl6,'checked','on'); end end function isocontextmenu(fig,action)% Context menu state for isosurfaces d=getappdata(gcf,'sliceomatic'); [a s]=getarrowslice; if propcheck(s,'facelighting','flat') set(d.isoflatlight,'checked','on'); set(d.isosmoothlight,'checked','off'); else set(d.isoflatlight,'checked','off'); set(d.isosmoothlight,'checked','on'); end set(d.vistogiso,'checked',get(s,'visible')); if ~isempty(getappdata(s,'isosurfacecap')) set(d.isocap,'checked','on'); else set(d.isocap,'checked','off'); end%%% start patch 3of3 RAB 2/18/05 %%%%----------------------------------------------------------------------function SavePrefs(obj,event)%appdata structure knows everything about the implementationd = getappdata(gcf,'sliceomatic');%extract only preferences that need to be stickyprefs.anntoolbar_Checked = get(d.toolbar,'Visible');prefs.defcolor = d.defcolor;prefs.defalpha = d.defalpha;prefs.deflight = d.deflight;prefs.defcontourcolor = d.defcontourcolor;prefs.defcontourlinewidth = d.defcontourlinewidth;prefs.defcontoursmooth = d.defcontoursmooth;prefs.camtoolbar_checked = cameratoolbar('getvisible');prefs.ticklabels = get(d.axx,'xticklabelmode');prefs.animincrement = d.animincrement;prefs.controlalpha = get(d.pxx,'facealpha');%store mini structure (locally where Slice-O-Matic installed)fileName = UserStickyPrefsFileName;save(fileName,'prefs')disp([ 'Saved: ' fileName])%----------------------------------------------------------------------function dOut = OverrideStickyUserPreferences(d)%characteristic prefs file (stored locally where Slice-O-Matic installed)fileName = UserStickyPrefsFileName;%override particular field values (if file exists)if exist(fileName,'file') load(fileName) set(d.toolbar,'visible',prefs.anntoolbar_Checked) if prefs.camtoolbar_checked cameratoolbar('show'); else cameratoolbar('hide'); end d.defcolor = prefs.defcolor; d.defalpha = prefs.defalpha; d.deflight = prefs.deflight; d.defcontourcolor = prefs.defcontourcolor; d.defcontourlinewidth = prefs.defcontourlinewidth; d.defcontoursmooth = prefs.defcontoursmooth; if strcmp('auto',prefs.ticklabels) set([d.axx d.axiso],'xticklabelmode','auto'); set([d.axy d.axz],'yticklabelmode','auto'); else set([d.axx d.axiso],'xticklabel',[]); set([d.axy d.axz],'yticklabel',[]); end d.animincrement = prefs.animincrement; set([d.pxx d.pxy d.pxz] , 'facealpha',prefs.controlalpha); iso = findobj(d.axiso,'type','image'); set(iso,'alphadata',prefs.controlalpha); disp('Sticky preferences loaded.')end%return modified structuredOut = d;%----------------------------------------------------------------------function fileName = UserStickyPrefsFileNamelocalPath = fileparts(which(mfilename));fileName = fullfile(localPath,'Sliceomatic.Prefs.mat');%%% end patch 3of3 RAB 2/18/05 %%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -