www.gusucode.com > mbcexpr 工具箱 matlab 源码程序 > mbcexpr/@cgexpr/buildSLSource.m

    function [C,vpos] = buildSLSource(E,sys,vpos,col,~,~)
%BUILDSLSOURCE build Simulink source block for strategy editor
% 
% [C,thisVal] = buildSLSource(E,sys,vpos,col,SOPTS,pNonNormaliserss)

%  Copyright 2007-2012 The MathWorks, Inc. and Ford Global Technologies, Inc.

valName = getname(E);
vP= address(E);

add_block('built-in/Inport',[sys,'/',valName],...
    'position',[20 vpos 35 vpos+15],...
    'orientation','right',...
    'ForeGroundColor',col,...
    'Tag','cgSLSource',...
    'userdata',vP,'linkstatus','none');


set_param([sys,'/',valName],'copyfcn','set_param(gcb,''userdata'',[])');
h = add_block('built-in/Goto',[sys,'/_G',valName],...
    'MakeNameUnique', 'on', ...
    'orientation','right',...
    'position',[135 vpos 235 vpos+15],...
    'GotoTag',valName,...
    'Description',valName,...
    'ShowName','off',...
    'ForeGroundColor',col,...
    'TagVisibility','scoped');

add_block('built-in/GotoTagVisibility',[sys,'/',valName,'_Tag'],...
    'MakeNameUnique', 'on', ...
    'GotoTag',valName,...
    'ShowName','off',...
    'foregroundcolor',col,...
    'position',[240 vpos 250 vpos+15]);


C=get_param([sys,'/',valName],'PortHandles');
C=C.Outport;
c=get_param(C,'Position');

G=get_param(h,'PortHandles');
G=G.Inport;
g=get_param(G,'Position');
add_line(sys,[c;g]);
vpos = vpos+30;