📄 fdshow.m
字号:
for i=1: length(slidePreTxt)
text(0.01,(1.1-0.2*i) ,slidePreTxt(i),'FontUnits','points','FontSize', 12);
end;
clear slidePreTxt
mytext1(slideData.path(slideData.index));
% set(slideData.axesHandle(1),'color',[0.8 0.8 0.8],'visible','off');
% if SlideShowerrorFlag,
% break;
% end
% end %if
%end %for
set(figNumber1, 'UserData', slideData);
% clear all fdshow specific variables
%clear SlideShowVars SlideShowcmdS SlideShowNoCmt cmdlen SlideShowi ichange
%clear SlideShown mcwHndl SlideShowtextStr slideData SlideShowcmdNum
%clear BtnHandlesTemp i;
%clear nexttemp ttlstring;
%clear aHTemp M N;
% put variables into UserData workspace
%vars=who;
slideData=get(figNumber1, 'UserData');
%for SlideShown=1:size(vars,1),
% vars{SlideShown,2}=eval(vars{SlideShown,1});
%end
%slideData.param(slideData.index).vars=vars;
%set(figNumber1, 'UserData', slideData);
set(figNumber1, 'Pointer', 'arrow');
%==================================================
%function NoComments=LocalNoComments(SlideShowcmdS)
% take out comments from command window commands
%SlideShowNoCmt=SlideShowcmdS;
%for SlideShowj=1:size(SlideShowcmdS,1)
% SlideShowCmt=find(SlideShowcmdS(SlideShowj,:)=='%');
% if ~isempty(SlideShowCmt)
% if SlideShowCmt(1)==1
% SlideShowNoCmt(SlideShowj,:)=';';
% else
% % check whether '%' is inside quotes
% SlideShowQut=find(SlideShowcmdS(SlideShowj,:)=='''');
% if ~isempty(SlideShowQut)
% str=SlideShowcmdS(SlideShowj,:); %to find out % inside '', and ignore it
% a=(str=='''');
% b=1-rem(cumsum(a),2);
% c=(str=='%');
% d=b.*c;
% SlideShowCmt=find(d==1);
% if isempty(SlideShowCmt),
% SlideShowCmt(1)=length(SlideShowcmdS(SlideShowj,:))+1;
% end
% end
% SlideShowNoCmt(SlideShowj,1:(SlideShowCmt(1)-1))=SlideShowcmdS(SlideShowj, 1:(SlideShowCmt(1)-1));
% SlideShowNoCmt(SlideShowj,SlideShowCmt(1):end)=' ';
% end
% else
% SlideShowNoCmt(SlideShowj,:)=SlideShowcmdS(SlideShowj, :);
% end
%end
%NoComments=SlideShowNoCmt;
%====================================================
function LocalEnableBtns(i, slideData)
% control the enable property for Next and Prev. buttons
%cmdlen=length(slideData.slide);
doi=16;
nextHndl=slideData.nexthandle;
backHndl=slideData.backhandle;
autoHndl=findobj(gcbf, 'Type', 'uicontrol', 'Style', 'pushbutton', 'Tag', 'autoPlay');
set(autoHndl, 'Enable', 'on');
if i==doi+9 | i==doi+26 | i==doi+14,
set(nextHndl, 'String', '结束','Callback','fdshow #reset');
%set(nextHndl, 'String', '分析','Callback','yhzfdview');
set(backHndl, 'Enable', 'on');
%set(autoHndl,'String','快捷设计与比较','Callback','yhzfiltdes');
set(autoHndl, 'Enable', 'off');
else,
%autoCallbck=get(autoHndl,'callback');
%if strcmp(autoCallbck,'yhzfiltdes')
% set(autoHndl,'String','演示','Callback','fdshow #autoplay');
%end
delete(findobj(gcf,'tag','tmp_ShowHn'));
delete(findobj(gcf,'visible','on','tag','yhzview'));
delete(findobj(gcf,'visible','on','tag','yhzfiltdes'));
if i==1,
set(backHndl, 'Enable', 'off');
set(nextHndl, 'Enable', 'on', 'String', '开始','Callback','fdshow #next');
else,
set(nextHndl, 'Enable', 'on', 'String', '下一页>>','Callback','fdshow #next');
set(backHndl, 'Enable', 'on');
%autoCallbck=get(autoHndl,'callback');
%if strcmp(autoCallbck,'yhzfiltdes')
% set(autoHndl,'String','演示','Callback','fdshow #autoplay');
end;
end;
%===========build frame and label====================
function frmHandle=LocalBuildFrmTxt(frmPos, txtStr, uiStyle, uiTag, uiCallback)
% build frame and label
frmHandle=uicontrol( ...
'Style', uiStyle, ...
'HorizontalAlignment','left', ...
'Units','normalized', ...
'Max', 20, ...
'Position',frmPos, ...
'BackgroundColor',[0.50 0.50 0.50], ...
'ForegroundColor',[0.50 0.50 0.50], ... %generates an edge
'String', txtStr, ...
'Tag', uiTag);
%===================================================
function btHandle=LocalBuildBtn(btnStyle, btnNumber, labelStr, callbackStr, uiTag)
% build buttons and check boxes on the right panel
labelColor=[0.8 0.8 0.8];
top=0.9;
left=0.80;
btnWid=0.15;
btnHt=0.06;
bottom=0.05;
% Spacing between the button and the next command's label
spacing=0.03;
yPos=top-(btnNumber-1)*(btnHt+spacing);
if strcmp(labelStr, '关闭')==1
yPos= bottom;
elseif strcmp(labelStr, '信息')==1
yPos= bottom+btnHt+spacing;
else
yPos=top-(btnNumber-1)*(btnHt+spacing)-btnHt;
end
% ui position
btnPos=[left yPos btnWid btnHt];
btHandle=uicontrol( ...
'Style', btnStyle, ...
'Units','normalized', ...
'Position',btnPos, ...
'String',labelStr, ...
'Tag', uiTag, ...
'Callback',callbackStr);
function LocalInitFigure(filename)
figNumber1=figure( ...
'Name','', ...
'NumberTitle','off', ...
'MenuBar','none', ...
'IntegerHandle','off', ...
'Visible','off',...
'tag','fdshow');
slideData.axesHandle=axes('Units','normalized', ...
'Position',[0.05 0.55 0.7 0.4],...
'color',[0.8 0.8 0.8],...
'visible','off',...
'tag','mainaxes');
%axesHndl2=axes('Units','normalized', ...
% 'Position',[0.05 0.05 0.7 0.4],...
% 'color',[0.8 0.8 0.8],...
% 'visible','off');
%slideData.axesHandle=[axesHndl1];
% ===================================
top=0.5;
left=0.05;
right=0.75;
bottom=0.05;
spacing=0.005;
frmBorder=0.02;
% =====Set up the text Window==========
% First, the Text Window frame
frmPos=[left-frmBorder bottom-frmBorder ...
(right-left)+2*frmBorder (top-bottom+2*frmBorder)];
slideData.frmHandle=LocalBuildFrmTxt(frmPos, '', 'frame', '', '');
% Then the editable text field
mcwPos=[left bottom (right-left) (top-bottom)];
slideData.txthandle=LocalBuildFrmTxt(mcwPos, '', 'text', 'comments', 'fdshow #changetext');
set(slideData.txthandle, ...
'BackgroundColor',[1 1 1], ...
'ForegroundColor',[0 0 0]);
% =====Information for all buttons======
left=0.80;
btnWid=0.15;
% ======The CONSOLE frame===============
frmBorder=0.02;
yPos=bottom-frmBorder;
frmPos=[left-frmBorder yPos btnWid+2*frmBorder 0.9+2*frmBorder];
frmHandle=LocalBuildFrmTxt(frmPos, '', 'frame', '', '');
% ======The frame ======================
%frmBorder=0.02;
%btnHt=0.04;
%yPos=top+.55;
%btnPos=[left yPos btnWid btnHt];
%slideHandle=LocalBuildFrmTxt(btnPos, '', 'text', 'slide', '');
%set(slideHandle, 'HorizontalAlignment','center');
% ======The Next button=================
btnNumber=1;
labelStr='开始 >>';
callbackStr='fdshow #next';
slideData.nexthandle=LocalBuildBtn('pushbutton', btnNumber, labelStr, callbackStr, 'next');
% ======The back button=================
btnNumber=2;
labelStr='上一页<<';
callbackStr='fdshow #back';
slideData.backhandle=LocalBuildBtn('pushbutton', btnNumber, labelStr, callbackStr, 'back');
% =======The reset button===============
btnNumber=3;
labelStr='重置';
callbackStr='fdshow #reset';
resetHndl=LocalBuildBtn('pushbutton', btnNumber, labelStr, callbackStr, 'reset');
% =======The autoplay button===============
btnNumber=4;
labelStr='演示';
callbackStr='fdshow #autoplay';
resetHndl=LocalBuildBtn('pushbutton', btnNumber, labelStr, callbackStr, 'autoPlay');
% =======The INFO button===============
infoHndl=LocalBuildBtn('pushbutton', 0, '信息', 'helpwindow fdshow', 'info');
% =======The CLOSE button==============
closeHndl=LocalBuildBtn('pushbutton', 0, '关闭', 'close(gcbf)', 'close');
% Now initiate userdata and uncover the figure
% LocalInitUserData(nextHndl, backHndl, textHndl);
slideData.slide(1).code1={''};
%slideData.slide(1).code2={''};
slideData.slide(1).text={''};
%slideData.param(1).vars={};
% slideData.index=1;
% set(figNumber1, 'Userdata', slideData);
% LocalDoCmd(figNumber1,0);
%============ open script =============
% the script "filename" creates a structure called slideData
% slideData=get(figNumber1, 'UserData');
set(figNumber1,'DefaultTextFontSize',10,'DefaultUicontrolFontSize',12);
set(figNumber1,'DefaultAxesColor',[0.8,0.8,0.8]);
%set(
% default the text and uicontrol font size
slideData.slide=eval(filename);
%set(gcf,'currentaxes',slideData.axesHandle(1));
slideData.BtnHandles=eval('lbqsjBtns');
slideData.index=1;
slideData.path(slideData.index)=1;
slideData.filename=filename;
%set(figNumber1,'name',slideData.slide(1).ttl);
set(figNumber1, 'UserData', slideData);
%allHandles=findobj(figNumber1);
LocalDoCmd(figNumber1,0);
% last thing: turn it on
% we are calling slide show code above, so don't switch
% HandleVis until we have computed the first slide: in case
% the code calls gcf or some such thing, if the demo is
% invoked from the command line, the fig won't be visible if
% we set handlevis to callback before computing...
set(figNumber1, ...
'Visible','on',...
'HandleVisibility','callback');
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -