📄 mfbox_progress.m
字号:
function varargout=mfbox_progress(varargin)% MFBOX_PROGRESS M-file for mfbox_progress.fig%% See also: GUIDE, GUIDATA, GUIHANDLES%% Copyright by Peter Gruber and Fabian J. Theis% Signal Processing & Information Theory group% Institute of Biophysics, University of Regensburg, Germany% Homepage: http://research.fabian.theis.name% http://www-aglang.uni-regensburg.de%% This file is free software, subject to the% GNU GENERAL PUBLIC LICENSE, see gpl.txt% Begin initialization code - DO NOT EDITgui_Singleton = 1;gui_State = struct('gui_Name',mfilename, ... 'gui_Singleton',gui_Singleton, ... 'gui_OpeningFcn',@mfbox_progress_OpeningFcn, ... 'gui_OutputFcn',@mfbox_progress_OutputFcn, ... 'gui_LayoutFcn',[] , ... 'gui_Callback',[]);if (nargin&&(ischar(varargin{1}))) gui_State.gui_Callback = str2func(varargin{1});endif (nargout) [varargout{1:nargout}] = gui_mainfcn(gui_State,varargin{:});else gui_mainfcn(gui_State,varargin{:});end% End initialization code - DO NOT EDIT% --- Executes just before mfbox_progress is made visible.function mfbox_progress_OpeningFcn(hObject,eventdata,handles,prg,varargin)handles.openwin = true;handles.output = handles.progress;if (~isfield(handles,'text')) handles.text = '';endif (~isfield(handles,'value')) handles.value = [0,0];endif (nargin>4) for index=1:2:(nargin-4), if (nargin-4==index), break, end switch lower(varargin{index}) case 'title' set(hObject,'Name',varargin{index+1}); case 'string' handles.text = varargin{index+1}; case 'progress' handles.value = varargin{index+1}; case 'close' handles.openwin = false; close(handles.progress); guidata(hObject,handles); return end endendset(handles.info,'String',sprintf('%s\n (%d/%d)',handles.text, ... handles.value(1),handles.value(2)));FigPos = get(0,'DefaultFigurePosition');OldUnits = get(handles.progress,'Units');set(handles.progress,'Units','pixels');OldPos = get(handles.progress,'Position');FigWidth = OldPos(3);FigHeight = OldPos(4);if (isempty(gcbf)) ScreenUnits = get(0,'Units'); set(0,'Units','pixels'); ScreenSize = get(0,'ScreenSize'); set(0,'Units',ScreenUnits); FigPos(1) = 1/2*(ScreenSize(3)-FigWidth); FigPos(2) = 2/3*(ScreenSize(4)-FigHeight);else GCBFOldUnits = get(gcbf,'Units'); set(gcbf,'Units','pixels'); GCBFPos = get(gcbf,'Position'); set(gcbf,'Units',GCBFOldUnits); FigPos(1:2) = [(GCBFPos(1)+GCBFPos(3)/2)-FigWidth/2, ... (GCBFPos(2)+GCBFPos(4)/2)-FigHeight/2];endFigPos(3:4) = [FigWidth,FigHeight];set(handles.progress,'Position',FigPos);set(handles.progress,'Units',OldUnits);if (handles.value(2)>0) t = ones([1,handles.value(2),3]); t(1,1:handles.value(1),2:3) = 0; image(t,'Parent',handles.progressimg); set(handles.progressimg,'YTick',[],'YTickLabel',{},'XTick',[], ... 'XTickLabel',{});endguidata(hObject,handles);% --- Outputs from this function are returned to the command line.function varargout=mfbox_progress_OutputFcn(hObject,eventdata,handles)if (~handles.openwin) delete(hObject);endvarargout{1} = handles.output;% --- Outputs from this function are returned to the command line.function varargout=progress_CloseRequestFcn(hObject,eventdata,handles)if (~handles.openwin) delete(hObject);endguidata(hObject,handles);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -