📄 maingui.m
字号:
legendt(i,5)=text(0.43,.95,'uuuu','color',[.97 .97 .97],'fontsize',7,'parent',ax(i,3),'unit','norm');
legendt(i,7)=text(0.74,.95,'nnnnnnnnnn out ','color',[.97 .97 .97],'fontsize',7,'parent',ax(i,3),'unit','norm');
%----
legendt(i,8)=text(0.43,.95,'uuuu','color',[.97 .97 .97],'fontsize',7,'parent',ax(i,1),'unit','norm');
legendt(i,10)=text(0.74,.95,'nnnnnnnnnn out ','color',[.97 .97 .97],'fontsize',7,'parent',ax(i,1),'unit','norm');
%----
legendt(i,12)=text(0.74,.95,'eeeeeeeeeeeeeeeee','color',[.97 .97 .97],'fontsize',7,'parent',ax(i,6),'unit','norm');
%----
legendt(i,14)=text(0.74,.95,'eeeeeeeeeeeeeeeee','color',[.97 .97 .97],'fontsize',7,'parent',ax(i,4),'unit','norm');
%----
legendt(i,16)=text(0.74,.95,'eeeeeeeeeeeeeeeee','color',[.97 .97 .97],'fontsize',7,'parent',ax(i,2),'unit','norm');
end
lwidth=.03;lheight=.001;
lleft1=.057;lleft2=.19;lleft3=.33;
lbott1=.292;lbott2=.617;lbott3=.957;
rightd=.5;
% lp(1)=uipanel('parent',ap,'bordertype','none','back','g','unit','norm','pos',[lleft1 lbott3-scrpa*.01 lwidth lheight]);
% lp(2)=uipanel('parent',ap,'bordertype','none','back','g','unit','norm','pos',[lleft1 lbott2 lwidth lheight]);
% lp(3)=uipanel('parent',ap,'bordertype','none','back','g','unit','norm','pos',[lleft1 lbott1 lwidth lheight]);
lp(4)=uipanel('parent',ap,'bordertype','none','back','g','unit','norm','pos',[lleft2 lbott3-scrpa*.01 lwidth lheight]);
lp(5)=uipanel('parent',ap,'bordertype','none','back','g','unit','norm','pos',[lleft2 lbott2 lwidth lheight]);
lp(6)=uipanel('parent',ap,'bordertype','none','back','g','unit','norm','pos',[lleft2 lbott1 lwidth lheight]);
lp(7)=uipanel('parent',ap,'bordertype','none','back','r','unit','norm','pos',[lleft3 lbott3-scrpa*.01 lwidth lheight]);
lp(8)=uipanel('parent',ap,'bordertype','none','back','r','unit','norm','pos',[lleft3 lbott2 lwidth lheight]);
lp(9)=uipanel('parent',ap,'bordertype','none','back','r','unit','norm','pos',[lleft3 lbott1 lwidth lheight]);
%----
% lp(10)=uipanel('parent',ap,'bordertype','none','back','b','unit','norm','pos',[lleft2+rightd lbott3-scrpa*.01 lwidth lheight]);
% lp(11)=uipanel('parent',ap,'bordertype','none','back','b','unit','norm','pos',[lleft2+rightd lbott2 lwidth lheight]);
% lp(12)=uipanel('parent',ap,'bordertype','none','back','b','unit','norm','pos',[lleft2+rightd lbott1 lwidth lheight]);
lp(13)=uipanel('parent',ap,'bordertype','none','back','r','unit','norm','pos',[lleft3+rightd lbott3-scrpa*.01 lwidth lheight]);
lp(14)=uipanel('parent',ap,'bordertype','none','back','r','unit','norm','pos',[lleft3+rightd lbott2 lwidth lheight]);
lp(15)=uipanel('parent',ap,'bordertype','none','back','r','unit','norm','pos',[lleft3+rightd lbott1 lwidth lheight]);
for i=2:4
legendp(i,1:length(lp))=lp;
end
%--------初始页面显示------------
lines(4,6,3)=0;
page=4;
otherpage=default_page+(1:page-1);
otherpage=mod(otherpage,page);
ttf=find(otherpage==0);
otherpage(ttf)=otherpage(ttf)+page;
for i=1:length(otherpage)
tl=lines(otherpage(i),:,:);
tmphandles=[panel(otherpage(i),:),ax(otherpage(i),:),legendt(otherpage(i),:),...
legendp(otherpage(i),:),tl(:)'];
tmphandles=squeezezero(tmphandles);
set(tmphandles,'visible','off');
end
%tl=lines(default_page,:,:);
tmphandles=[panel(default_page,:),ax(default_page,:),legendt(default_page,:),...
legendp(default_page,:)];
tmphandles=squeezezero(tmphandles);
set(tmphandles,'visible','on');
%=====================================
handles.panel=panel;
handles.ax=ax;
handles.legendt=legendt;
handles.legendp=legendp;
handles.lines=lines;
%=============================================================
% 创建选择按钮
%=============================================================
radio(1)=uicontrol(FI,'style','check','string','CCCCCCCCCCCCCCCCCCCCCCCCc','unit','norm','pos',[.79 .94 .18 .05],'value',1,'fontsize',9,'visible','off');
%-----------
handles.radio=radio;
%=============================================================
% 创建滚动条
%=============================================================
%-----准备数据----
slider_color=[.9 .9 .9];
pos_ap=get(ap,'pos');
apwidth=pos_ap(3);
if apwidth<=1
state_h='off';
elseif apwidth>1
state_h='on';
end
apheight=pos_ap(4);
if apheight<=1
state_v='off';
elseif apheight>1
state_v='on';
end
%-----水平滚动条-----
uh=javax.swing.JScrollBar(0,0,255/apwidth,0,255);%JScrollBar(orientation,value,visible,minimum,maximum)
set(uh,'MouseWheelMovedCallback', @scroll,... %@scroll
'AdjustmentValueChangedCallback', @slide_callback,...
'UnitIncrement', 5,...
'BlockIncrement', 15,...
'enable', state_h,...
'tag', 'sliderh',...
'userdata', 1 ...
);
[comp container]=javacomponent(uh,[],FI);
set(container,'unit','norm','pos',[.0081 .0136 .969 .0287]);
%-----垂直滚动条-----
uv=javax.swing.JScrollBar(1,0,255/apheight,0,255);
set(uv,'MouseWheelMovedCallback', @scroll,... %@scroll
'AdjustmentValueChangedCallback', @slide_callback,...
'KeyPressedCallback', @keypress_callback,...
'KeyReleasedCallback', @keyrelease_callback,...
'UnitIncrement', 5,...
'BlockIncrement', 15,...
'enable', state_v,...
'tag', 'sliderv',...
'userdata', 1 ...
);
[comp container]=javacomponent(uv,[],FI);
set(container,'unit','norm','pos',[.974 .038 .019 .9005]);
%--------------------
handles.uh=uh;
handles.uv=uv;
%================================================================
% 创建菜单,工具栏,弹出菜单
%================================================================
M=uimenu(FI,'label','文件(&F)');
me(1)=uimenu(M,'label','初始化...', 'accelerator','I');
uimenu(M,'label','退出','accelerator','Q','callback','delete(gcf)');
MVI=uimenu(FI,'label','仿真(&M)');
mt=uimenu(MVI,'label','开始','accelerator','s','tag','start');
uimenu(MVI,'label','暂停/继续','accelerator','p','callback',{@stop_callback,FI},'tag','stop','userdata',1);
uimenu(MVI,'label','停止','accelerator','r','tag','clear','callback',{@clear_callback,FI});
uimenu(MVI,'label','FFFFFFFFFFFFFFFFFFFFFFFFF...','accelerator','d','callback',{@plotresult,FI},'separator','on');
uimenu(MVI,'label','ttttttttttttttttttt...','callback','result2txt');
uimenu(MVI,'label','MMMMMMMMMMMMMMMMMMMMMM...','callback','montocarlo','accelerator','m');
uimenu(MVI,'label','HHHHHHHHHHHHHHHH...','callback','!INTERFACE/TTTTTTT.exe','separator','on');
me(2)=uimenu(MVI,'label','SSSSSSSSSSSSSSSSSS...','tag','t_traj', 'accelerator','T','enable','off');
uimenu(MVI,'label','CCCCCCCCCCCCCc...','accelerator','O','callback',@controlinput_callback);
MIII=uimenu(FI,'label','设置(&S)');
uimenu(MIII,'label','KKKKKKKKKKKKKKKKKKK...','accelerator','f','callback','filterpattern');
uimenu(MIII,'label','参数配置...','accelerator','e','callback','simconfig');
MII=uimenu(FI,'label','坐标轴(&A)');
uimenu(MII,'label','设置轴范围...','accelerator','l','callback',{@axislimit,FI});
uimenu(MII,'label','网格','accelerator','g','callback',{@grid_callback,{FI,squeezezero(handles.ax)}},'userdata',1);
MII=uimenu(FI,'label','帮助(&H)');
uimenu(MII,'label','目录...','callback',...
'!INTERFACE/help');
uimenu(MII,'label','脚本...','callback',...
'heval');
uimenu(MII,'label','关于...','callback',...
'axes(''parent'',dialog(''unit'',''normalized'',''position'',[.33 .48 .45 .1]),''visible'',''off'');text(.06,0.5,''RRRRRRRRRRRRRRRRRRR1.0,Matlab7.1R14@sp3'');');
%-----------------
handles.menu=me;
set(me(1),'callback',{@initialize,{FI,handles.menu}});
set(me(2),'callback',{@trajshowing,{FI,handles.menu}});
set(mt,'callback',{@start_callback,{FI,handles.menu}});
%-----------------
CM=uicontextmenu;
uimenu(CM,'label','设定轴范围','callback',{@axislimit,FI});
uimenu(CM,'label','设为自动轴','callback',{@axisauto,FI});
set(squeezezero(handles.ax),'UIContextMenu',CM);
%------------------
load iconh;
COMMON=uitoolbar('tag','commontoolbar');
uipushtool('cdata',fshuttle,'TooltipString','iiii','ClickedCallback',{@initialize,{FI,handles.menu}});
uipushtool('cdata',ftraj,'TooltipString','hhhhhhhhhhhhhhhhhhhh','ClickedCallback','!INTERFACE/TTTTTTT.exe','separator','on');
uipushtool('cdata',frocket,'TooltipString','ttttttttttttttttttttt','tag','t_traj','ClickedCallback',{@trajshowing,{FI,handles.menu}},'enable','off');
uipushtool('cdata',fbkcolor,'TooltipString','ccccccccccccccccccc','ClickedCallback',@controlinput_callback);
uipushtool('cdata',ffdir,'TooltipString','ssssssssssssssssssss','tag','t_ffdir','ClickedCallback','filterpattern','Separator','on');
uipushtool('cdata',fconfig,'TooltipString','参数配置','tag','t_fconfig','ClickedCallback','simconfig');
uipushtool('cdata',fstart,'TooltipString','开始','tag','start','ClickedCallback',{@start_callback,{FI,handles.menu}},'Separator','on');
uipushtool('cdata',fstop,'TooltipString','sssssssssssssssssss','tag','t_stop','ClickedCallback',{@stop_callback,FI});
uipushtool('cdata',fclear,'TooltipString','sssssssssssssss','tag','t_clear','ClickedCallback',{@clear_callback,FI});
uipushtool('cdata',fdraw,'TooltipString','hhhhhhhhhhhhhhhhh','tag','t_draw','ClickedCallback',{@plotresult,FI},'Separator','on');
uipushtool('cdata',ftxt,'TooltipString','tttttttttttttttt','tag','t_txt','ClickedCallback','result2txt');
uipushtool('cdata',fmc,'TooltipString','MMMMMMMMMMMMMMMM','ClickedCallback','montocarlo');
uipushtool('cdata',fgrid,'TooltipString','网格','tag','t_grid','Separator','on',...
'ClickedCallback','grid','userdata',1);
%=====================================================
% 保存句柄数据
%=====================================================
set(FI,'userdata',handles);
figures=get(0,'userdata');
figures.FI=FI;
set(0,'userdata',figures);
set(FI,'currentaxes',ax(1,1));
currentaxes=get(FI,'currentaxes');
setappdata(FI,'currentaxes',currentaxes);
set(currentaxes,'color',[0.1000 0.1000 0.1100]*2);
%=====================================================
% Sub fucntions
%=====================================================
function start_callback(hobject,eventdata,handles)
FI=handles{1};
me=handles{2};
if getappdata(FI,'trajload')==0
ButtonName=questdlg('未初始化,现在初始化吗?', '','确定','取消','取消');
if strcmp(ButtonName,'取消')
return
else
initialize([],[],{FI,me});
end
end
mpdata;
try
set(findobj('tag','start'),'enable','on');
end
%-------------------------------------------------------------
function initialize(hobject,eventdata,handles)
fi=handles{1};
me=handles{2};
try
DI=dialog('unit','normalized','position',[.33 .48 .35 .07]);
AI=axes('parent',DI,'visible','off');
text(.06,0.5,'正在初始化,请等待...','parent',AI);
drawnow;
setptr(DI,'watch');
drawnow;
[name value]=textread('simu.cfg', '%s %s');
for i=1:length(value)
sv=str2num(value{i});
if ~(i==1 || i==11 || i==16 || i==19 || i==25 || i==28 || i==31 || i==35 || i==39 || i==43 || i==47 || i==29 || i==30 || i==48)
if (isempty(sv))
delete(DI);
msgbox('参数配置错误,请检查!','错误','error','modal');
return
end
end
end
save('-mat','data.tmp','value');
trajfile=value{29};
if (trajfile(1)=='.')
figures=get(0,'userdata');
trajfile=[figures.mainpath trajfile(3:end)];
end
traj_tacan_gcpfile=value{30};
traj_flir_gcpfile=value{end};
if ( traj_tacan_gcpfile(1)=='.')
figures=get(0,'userdata');
traj_tacan_gcpfile=[figures.mainpath traj_tacan_gcpfile(3:end)];
end
if ( traj_flir_gcpfile(1)=='.')
figures=get(0,'userdata');
traj_flir_gcpfile=[figures.mainpath traj_flir_gcpfile(3:end)];
end
try
load('-mat', trajfile );
catch
[trajdata,tm,period,index]=trajread(trajfile);
end
control_phi=0;control_la=0;control_h=0;
try
load('-mat',traj_tacan_gcpfile);
end
tacan_control_h=control_h;tacan_control_la=control_la;tacan_control_phi=control_phi;
try
load('-mat',traj_flir_gcpfile);
end
flir_control_h=control_h;flir_control_la=control_la;flir_control_phi=control_phi;
if exist('tarpos')
set(me(1),'userdata',{tacan_control_h,tacan_control_la,tacan_control_phi,flir_control_h,...
flir_control_la,flir_control_phi,index,period,tm,trajdata,tarpos});
else
set(me(1),'userdata',{tacan_control_h,tacan_control_la,tacan_control_phi,flir_control_h,...
flir_control_la,flir_control_phi,index,period,tm,trajdata});
end
delete(DI);
setappdata(fi,'trajload',1);
set(findobj('tag','t_traj'),'enable','on');
catch
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -