📄 alexmenu.m
字号:
function alexmenu(figNumber)
%ALEXMENU - Initializes the ALEX menubar.
%
%
%
% Copyright (c) 1995 by Claudio Rivetti and Mark Young
% claudio@alice.uoregon.edu, mark@alice.uoregon.edu
%
% figNumber
global FullFname Handleimg AlexDir Handlefig lwmo pcmd fcmd smo
global extrafun_path MapSize map
global H CutPaste I CB_imagemode Showmenu
bg=[0.701961 0.701961 0.701961];
% use in the callback to check off all the item and on the selected item
checkoff='set(get(get(gcm, ''Parent''), ''Children''), ''Checked'', ''off'');';
checkon='set(gcm, ''Checked'', ''on'');';
checktoggle = ['if strcmp(get(gcm,''Checked''),''on'');set(gcm,''Checked'',''off'');else;' ...
'set(gcm,''Checked'',''on'');end;'];
% get the functions from the Extrafun_path
%extrafun=getfile([extrafun_path '*.m']); depends on ls
extrafun=[];
% Menu labels -------------------------------------------------------------
%View menu
topview_lab = 'Top View';
interp_lab = 'Interpolate Pixels ';
lineplot_lab = 'Line Plot';
mesh_lab = 'Mesh Plot';
meshc_lab = 'MeshC Plot';
surface_lab = 'Surface';
surfl_lab = 'Light Surface';
truesize_lab= 'True size';
fullsize_lab= 'Full size';
normalsize_lab= 'Default size';
snapshot_lab = 'Snapshot';
refresh_lab = 'Refresh';
% Modify menu
zoom_lab = 'Zoom off';
resize_lab = 'Resize...';
rotate_lab = 'Rotate...';
flip_lab = 'Flip';
invert_lab='Invert';
gray_lab='Gray scale';
binary_lab='Binary...';
emboss_lab='Emboss';
edge_lab='Edge detection';
perim_lab='Perimeter';
erode_lab='Erode';
dilate_lab='Dilate';
morph_lab='Morfology';
median_lab='Median lowpass...';
wiener_lab='Wiener lowpass...';
blur_lab='Blur lowpass...';
flatten_lab = 'Flatten...';
recon_lab = 'Tip Reconstruction...';
% Analyze menu
section_lab = 'Profile...';
contour_lab = 'Contours...';
hist_lab = 'Histogram...';
stat_lab = 'Statistic... ';
count_lab = 'Counter...';
measure_lab = 'Measure...';
% Colormaps Menu
loadmaps_lab = 'Load... ';
savemaps_lab = 'Save... ';
modifymaps_lab = 'Modify...';
defaultmaps_lab = 'Restore Default ';
% Help menu
index_lab='Help Index';
mfile_lab='Edit Mfile';
about_lab='About Alex';
prefs_lab = 'Preferences...';
%--------------------------------------------------------------------------------
% Menu callbacks ------------------------------------------------------------
% File menu
export_type_cbk = checktoggle;
%--------------------------------------------------------------------------------------------
if nargin<1,
currentMap=' ';
end;
%====================================
% File Menu
%====================================
h=uimenu(figNumber,'Label','File ', 'Accelerator','F');
uimenu(h,'Label','Close', 'Accelerator','L', 'Interruptible', 'on',...
'Callback','closeimage;');
h2=uimenu(h,'Label','Open...', 'Accelerator', 'O', 'Interruptible', 'on', ...
'Callback','load_image('''', ''NANO3'');');
uimenu(h,'Label','Re-Open', 'Interruptible', 'on', ...
'Callback','load_image(FullFname);');
uimenu(h,'Label','Save', 'Accelerator', 'S', 'Interruptible', 'on', ...
'Callback','save_image(FullFname);');
uimenu(h,'Label','Save As...', 'Interruptible', 'on', ...
'Callback','save_image;');
h2=uimenu(h,'Label','Import');
uimenu(h2,'Label','NANO 2 ', ...
'Interruptible', 'on',...
'Callback','load_image('''', ''NANO2'');');
uimenu(h2,'Label','MATLAB', ...
'Interruptible', 'on',...
'Callback','load_image('''', ''MATLAB'');');
uimenu(h2,'Label','TIFF', ...
'Interruptible', 'on',...
'Callback','load_image('''', ''TIFF'');');
uimenu(h2,'Label','BMP', ...
'Interruptible', 'on',...
'Callback','load_image('''', ''BMP'');');
uimenu(h2,'Label','GIF', ...
'Interruptible', 'on',...
'Callback','load_image('''', ''GIF'');');
uimenu(h2,'Label','PCX', ...
'Interruptible', 'on',...
'Callback','load_image('''', ''PCX'');');
uimenu(h2,'Label','SPIDER', ...
'Interruptible', 'on',...
'Callback','load_image('''', ''SPIDER'');');
h2=uimenu(h,'Label','Export');
uimenu(h2,'Label','Image only', ...
'checked', 'off',...
'tag', 'EXP_TYPE',...
'Callback',export_type_cbk);
uimenu(h2,'Label','NANO2 ', ...
'separator', 'on',...
'tag', 'NANO2_EXPORT',...
'Interruptible', 'on',...
'Callback','writeNANO2;');
uimenu(h2,'Label','MATLAB', ...
'Interruptible', 'on',...
'Callback','writeMATLAB;');
uimenu(h2,'Label','TIFF', ...
'Interruptible', 'on',...
'Callback','eval(''writeTIFF'')');
uimenu(h2,'Label','BMP', ...
'Interruptible', 'on',...
'Callback','writeBMP');
uimenu(h2,'Label','GIF', ...
'Interruptible', 'on',...
'Callback','writeGIF');
uimenu(h2,'Label','PCX', ...
'Interruptible', 'on',...
'Callback','writePCX');
uimenu(h2,'Label','SPIDER', ...
'Interruptible', 'on',...
'Callback','writeSPIDER;');
uimenu(h2,'Label','ASCII', ...
'Interruptible', 'on',...
'Callback','writeASCII;');
uimenu(h,'Label','Print...',...
'tag', 'PRINTITEM',...
'Interruptible', 'on',...
'userdata', 0,...
'Callback','eval(''pgsetup'')');
cb='swd;';
uimenu(h,'Label','Working Directories...',...
'Callback','eval(''swd;'')');
uimenu(h,'Label','Exit ALEX', 'Accelerator', 'Q', 'Interruptible', 'on',...
'Separator','on','Callback','exitalex(1);');
uimenu(h,'Label','Quit MATLAB', 'Interruptible', 'on', ...
'Callback','exitalex(0);');
%====================================
% Edit Menu
%====================================
h=uimenu(figNumber,'Label','Edit ', 'Accelerator','E');
uimenu(h,'Label','Undo', 'Accelerator', 'U',...
'tag', 'UNDOITEM',...
'Callback','undo;');
uimenu(h,'Label','Cut',...
'Accelerator', 'X', ...
'Interruptible','on',...
'Callback','cutimage;');
uimenu(h,'Label','Copy',...
'Accelerator', 'A',...
'Interruptible','on',...
'Callback','copyimage;');
uimenu(h,'Label','Paste',...
'Accelerator', 'V',...
'tag', 'PASTEITEM',...
'Interruptible','on',...
'Enable', onoff(~isempty(CutPaste)),...
'Callback','pasteimage;');
uimenu(h,'Label','Parameters...', ...
'Separator','on','Callback','display_header');
%=======================================
% View Menu
%=======================================
h=uimenu(figNumber,'Label','View ', 'Accelerator','V');
uimenu(h,...
'Label', topview_lab,...
'Checked', 'on',...
'UserData', 'TOPVIEW',...
'CallBack', 'checkoff;checkon;showimage;closebuttons;');
uimenu(h,...
'Label', interp_lab,...
'UserData', 'TOPVIEW_INTERP',...
'CallBack', 'checkoff;checkon;showimage;');
% View menu
uimenu(h,...
'Label', lineplot_lab,...
'UserData', 'LINEPLOT',...
'CallBack', 'checkoff;checkon;showimage;');
uimenu(h,...
'Label', mesh_lab,...
'UserData', 'MESH',...
'CallBack', 'checkoff;checkon;showimage;');
uimenu(h,...
'Label', meshc_lab,...
'UserData', 'MESHC',...
'CallBack', 'checkoff;checkon;showimage;');
uimenu(h,...
'Label', surface_lab,...
'UserData', 'SURFACE',...
'CallBack', 'checkoff;checkon;showimage;');
uimenu(h,...
'Label', surfl_lab,...
'UserData', 'SURFL',...
'CallBack', 'checkoff;checkon;showimage;');
uimenu(h,...
'Label', truesize_lab,...
'Separator', 'on',...
'CallBack', 'truesize(Handlefig);');
uimenu(h,...
'Label', fullsize_lab,...
'CallBack', 'fullscreen(Handlefig);');
uimenu(h,...
'Label', normalsize_lab,...
'CallBack', 'set(Handlefig, ''position'', FigNormalSize);');
uimenu(h,...
'Label', snapshot_lab,...
'CallBack', 'snapshot(Handlefig);');
uimenu(h,...
'Label', refresh_lab,...
'Separator', 'on',...
'Accelerator', 'R',...
'CallBack', 'refresh(Handlefig);set(Handlefig, ''pointer'', ''arrow'')');
%====================================
% Modify Menu
%====================================
h=uimenu(figNumber,'Label','Modify ', 'Accelerator','M');
uimenu(h,...
'Label',zoom_lab,...
'Tag', 'ZOOMITEM',...
'userdata', 1,...
'Accelerator','Z',...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -