📄 snsbtns.m
字号:
function hndlMatrix=snsbtns(figNumber);
% SNSBTNS To Initialize all the uicontrol objects in the snsmap screen
% - pushbuttons, popupmenus
% Initialization infomation for all pushbuttons
btnColor=[192 192 192]/255;
btnTextColor=[0 0 0];
btnTextSize=9;
%=====================================
% Snsmap Main Window
%=====================================
%=====================================
% Part 0 - Welcome info
% setup constants
% units: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.13;
yRef=0.42;
buttonCallbackStr='snsmap(''aboutmain'');';
mainHndl(1)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','关于教学系统', ...
'Visible','off', ...
'Callback',buttonCallbackStr);
mainHndl(2)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt-(pxBtnHt+pxGap) pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','教学系统入门', ...
'Visible','off', ...
'Callback','snsmap(''help'');');
mainHndl(3)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt-2*(pxBtnHt+pxGap) pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','退出教学系统', ...
'Visible','off', ...
'Callback','close all;');
%=====================================
% Part I - Signal Analysis
pxBtnWid=0.16;
pxBtnHt=0.08;
pxGap=0.02;
pyGap=0.18;
xRef=0.56;
yRef=0.06;
visitBtnCallbackStr='snsmap(''showsp'');';
infoBtnCallbackStr='snsmap(''aboutsp'');';
mainHndl(4)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef+4*pyGap pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','信号分析', ...
'Visible','off', ...
'Callback',visitBtnCallbackStr);
mainHndl(5)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef+pxBtnWid+pxGap yRef+4*pyGap pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','信 息', ...
'Visible','off', ...
'Callback',infoBtnCallbackStr);
%=====================================
% Part II - Signal Sampling
visitBtnCallbackStr='snsmap(''showsm'');';
infoBtnCallbackStr='snsmap(''aboutsm'');';
mainHndl(6)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef+3*pyGap pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','信号抽样', ...
'Visible','off', ...
'Callback',visitBtnCallbackStr);
mainHndl(7)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef+pxBtnWid+pxGap yRef+3*pyGap pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','信 息', ...
'Visible','off', ...
'Callback',infoBtnCallbackStr);
%=====================================
% Part III - LTI System Property
visitBtnCallbackStr='snsmap(''showxt'');';
infoBtnCallbackStr='snsmap(''aboutxt'');';
mainHndl(8)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef+2*pyGap pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','系统特性', ...
'Visible','off', ...
'Callback',visitBtnCallbackStr);
mainHndl(9)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef+pxBtnWid+pxGap yRef+2*pyGap pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','信 息', ...
'Visible','off', ...
'Callback',infoBtnCallbackStr);
%=====================================
% Part IV - System Simulation
visitBtnCallbackStr='snsmap(''showss'');';
infoBtnCallbackStr='snsmap(''aboutss'');';
mainHndl(10)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef+pyGap pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','系统仿真', ...
'Visible','off', ...
'Callback',visitBtnCallbackStr);
mainHndl(11)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef+pxBtnWid+pxGap yRef+pyGap pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','信 息', ...
'Visible','off', ...
'Callback',infoBtnCallbackStr);
%=====================================
% Part V - Filter
visitBtnCallbackStr='snsmap(''showsf'');';
infoBtnCallbackStr='snsmap(''aboutsf'');';
mainHndl(12)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','滤波器', ...
'Visible','off', ...
'Callback',visitBtnCallbackStr);
mainHndl(13)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef+pxBtnWid+pxGap yRef pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'ForegroundColor',btnTextColor, ...
'String','信 息', ...
'Visible','off', ...
'Callback',infoBtnCallbackStr);
%====================================
% Sub Window Public Components
%====================================
%====================================
% Component 0 - Items' Help InfoBox ( Hidden )
%uicontrol(figNumber, ...
% 'Style','edit', ...
% 'Max',50, ...
% 'String',' ', ...
% 'Visible','off', ...
% 'Tag','SNSMAP_Item_Help_InfoBox', ...
% 'Enable','off');
%====================================
% Component 1 - Help Infomation Box
hHIB=uicontrol(figNumber, ...
'Style','edit', ...
'Units','normalized', ...
'Max',20, ...
'HorizontalAlignment','left', ...
'String','', ...
'BackgroundColor',[1 1 1], ...
'Enable','inactive', ...
'Visible','off', ...
'Tag','SNSMAP_Help_Infomation_Box', ...
'Position',[0.15 0.37 0.3 0.4]);
%====================================
% Component 2 - Item List Box
ListCallbackStr='snsmap(''listbox'')';
hILB=uicontrol(figNumber, ...
'Style','listbox', ...
'Units','normalized', ...
'Max',1,'Min',0, ...
'HorizontalAlignment','left', ...
'String','备选实验列表||', ...
'FontSize',10, ...
'BackgroundColor',[1 1 1], ...
'Visible','off', ...
'Position',[0.53 0.3 0.35 0.345], ...
'Tag','SNSMAP_Item_List_Box', ...
'Callback',ListCallbackStr);
%====================================
% Component 3 - Run Item Button
buttonCallbackStr=[ ...
'cmd=get(gco,''UserData'');', ...
'if isempty(cmd) | strcmp(cmd,'' ''), return; end;', ...
'eval(cmd);'];
hRIB=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'HorizontalAlignment','center', ...
'String','运行', ...
'FontSize',10, ...
'FontName','楷体_GB2312', ...
'BackgroundColor',btnColor, ...
'Visible','off', ...
'Position',[0.53 0.2 0.35 0.06], ...
'Tag','SNSMAP_Run_Item_Button', ...
'UserData',' ', ...
'Callback',buttonCallbackStr);
%====================================
% Component 4 - Radio Buttons' Frame
hRBF=uicontrol(figNumber, ...
'Style','frame', ...
'Units','normalized', ...
'Position',[0.53 0.65 0.35 0.05], ...
'BackgroundColor',btnColor, ...
'Visible','off');
%====================================
% Component 5 - Return Mainwin Button
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
hRMB=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt-(pxBtnHt+pxGap) pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'String','回到主界面', ...
'Visible','off', ...
'Callback','snsmap(''showmain'');');
%====================================
% Sub Window I - Signal Analysis
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part I.0 - Help info
buttonCallbackStr='snsmap(''aboutsp'');';
spHndl(1)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'String','关于……', ...
'Visible','off', ...
'Callback',buttonCallbackStr);
spHndl(2)=hRMB;
%====================================
% Part I.1 - Spectrum analysis
hlpStr=' ';
radioCallbackStr='snsmap(''radiobutton'')';
spHndl(3)=uicontrol(figNumber, ...
'Style','radio', ...
'Units','normalized', ...
'Position',[0.535 0.655 0.17 0.04], ...
'BackgroundColor',btnColor, ...
'String','频谱分析', ...
'Visible','off', ...
'UserData',hlpStr, ...
'Tag','sig_pro|pinpu', ...
'Callback',radioCallbackStr);
%====================================
% Part I.2 - Demo
spHndl(4)=uicontrol(figNumber, ...
'Style','radio', ...
'Units','normalized', ...
'Position',[0.705 0.655 0.17 0.04], ...
'BackgroundColor',btnColor, ...
'String','信号分析演示', ...
'UserData',hlpStr, ...
'Visible','off', ...
'Tag','sig_pro|yanshi', ...
'Callback',radioCallbackStr);
spHndl(5)=hRBF;
spHndl(6)=hHIB;
spHndl(7)=hILB;
spHndl(8)=hRIB;
%====================================
% Sub Window II - Signal Sampling
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part II.0 - Help info
buttonCallbackStr='snsmap(''aboutsm'');';
smHndl(1)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'String','关于……', ...
'Visible','off', ...
'Callback',buttonCallbackStr);
smHndl(2)=hRMB;
%====================================
% Part II.1 - Signal sampling
smHndl(3)=hHIB;
smHndl(4)=hILB;
smHndl(5)=hRIB;
%====================================
% Sub Window III - LTI System Property
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part III.0 - Help info
buttonCallbackStr='snsmap(''aboutxt'');';
xtHndl(1)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'String','关于……', ...
'Visible','off', ...
'Callback',buttonCallbackStr);
xtHndl(2)=hRMB;
%====================================
% Part III.1 - Frequency domain
xtHndl(3)=uicontrol(figNumber, ...
'Style','radio', ...
'Units','normalized', ...
'Position',[0.535 0.655 0.17 0.04], ...
'BackgroundColor',btnColor, ...
'String','系统频域特性', ...
'Visible','off', ...
'UserData',hlpStr, ...
'Tag','sys_pro|pytx', ...
'Callback',radioCallbackStr);
%====================================
% Part III.2 - Time domain
xtHndl(4)=uicontrol(figNumber, ...
'Style','radio', ...
'Units','normalized', ...
'Position',[0.705 0.655 0.17 0.04], ...
'BackgroundColor',btnColor, ...
'String','系统时域特性', ...
'UserData',hlpStr, ...
'Visible','off', ...
'Tag','sys_pro|sytx', ...
'Callback',radioCallbackStr);
xtHndl(5)=hRBF;
xtHndl(6)=hHIB;
xtHndl(7)=hILB;
xtHndl(8)=hRIB;
%====================================
% Sub Window IV - System Simulation
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part IV.0 - Help info
buttonCallbackStr='snsmap(''aboutss'');';
ssHndl(1)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'String','关于……', ...
'Visible','off', ...
'Callback',buttonCallbackStr);
ssHndl(2)=hRMB;
%====================================
% Part IV.1 - Signal filtering
ssHndl(3)=hHIB;
ssHndl(4)=hILB;
ssHndl(5)=hRIB;
%====================================
% Sub Window V - Filter
%====================================
% Setup constants, unit: normalized
pxBtnHt=0.06;
pxBtnWid=0.2;
pxGap=0.025;
xRef=0.1;
yRef=0.265;
%====================================
% Part V.0 - Help info
buttonCallbackStr='snsmap(''aboutsf'');';
sfHndl(1)=uicontrol(figNumber, ...
'Style','pushbutton', ...
'Units','normalized', ...
'Position',[xRef yRef-pxBtnHt pxBtnWid pxBtnHt], ...
'BackgroundColor',btnColor, ...
'String','关于……', ...
'Visible','off', ...
'Callback',buttonCallbackStr);
sfHndl(2)=hRMB;
%====================================
% Part V.1 - Instance 1
sfHndl(3)=hHIB;
sfHndl(4)=hILB;
sfHndl(5)=hRIB;
%====================================
%====================================
% Now assemble the UserData matrix; each map has a different row.
lenMain=length(mainHndl);
lensp=length(spHndl);
lensm=length(smHndl);
lenxt=length(xtHndl);
lenss=length(ssHndl);
lensf=length(sfHndl);
maxLen=max([lenMain lensp lensm lenxt lenss lensf]);
% We have to pad the vectors before we concatenate in order to
% get a genuine matrix. Pad the back of the vector with copies
% of the first element.
mainHndl=[mainHndl zeros(1,maxLen-lenMain)];
spHndl=[spHndl zeros(1,maxLen-lensp)];
smHndl=[smHndl zeros(1,maxLen-lensm)];
xtHndl=[xtHndl zeros(1,maxLen-lenxt)];
ssHndl=[ssHndl zeros(1,maxLen-lenss)];
sfHndl=[sfHndl zeros(1,maxLen-lensf)];
hndlMatrix=[mainHndl; spHndl; smHndl; xtHndl; ssHndl; sfHndl];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -