www.gusucode.com > mbcview 工具箱matlab源码程序 > mbcview/@cgsurfview/@evalpanel/evalpanel.m

    function h=evalpanel(fig)
% CGSURFVIEW/EVALPANEL Constructor.
% h=cgsurfview.evalpanel(fig)
% h=cgsurfview.evalpanel
% If no figure handle is supplied, the non-graphical version of this
% class is used.

%  Copyright 2000-2010 The MathWorks, Inc. and Ford Global Technologies, Inc.


h=cgsurfview.evalpanel;
h.autoeval=1;
if (nargin>0)
    
    frm = mbcgui.container.layoutpanel(...
        'Parent', fig, ...
        'Visible', 'off', ...
        'BorderType', 'etchedin', ...
        'Title', 'Evaluation');
    
    button=uicontrol('Parent',frm,'Style','pushbutton','String','Evaluate now',...
        'Callback',{@i_EvalNow,h});
    button2=uicontrol('Parent',frm,'Style','checkbox','String','Auto Evaluate',...
        'Callback',{@i_AutoEval,h},'Value',1);
    g=xreggridbaglayout(frm,'packstatus','off',...
        'elements',{button2,button},'dimension',[1 2],...
        'gapx',10,'gapy',10,...
        'border', [10 10 10 5]);
    set(frm, 'LayoutComponent', {g});
    
    h.layout=frm;
    h.connect(xregfigurehook(fig), 'up');
end

%----------------------------------------
function i_EvalNow(control,data,obj)

send(obj,'EvaluateNow',handle.EventData(obj,'EvaluateNow'));

%----------------------------------------
function i_AutoEval(control,data,obj)

obj.autoeval=get(control,'Value');
if obj.autoeval~=0
    % start by evaluating now
    i_EvalNow([],[],obj);
end