⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 fdshow.m

📁 信号实验常用的simulink模型和mfile,可直接在matlan下运行。
💻 M
📖 第 1 页 / 共 2 页
字号:
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 + -