www.gusucode.com > mbcdesign 工具箱 matlab 源码程序 > mbcdesign/@xregdesign/gui_fixpoints.m

    function [dout,ok]=gui_fixpoints(des)
%GUI_FIXPOINTS GUI for fixing design points
%
%  [D,OK}=GUI_FIXPOINTS(D) brings up a GUI for fixing and freeing design
%  points.

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


dlg = mbcgui.container.Dialog('Name','Fix Design Points',...
    'Size',[350 230],...
    'HelpCode','xreg_desFixPoints',...
    'Tag','Fixpoints');

% initialise listitem selector to allow user to select non-data points
% for fixing
Allpts = 1:npoints(des);
isdata = getdatapoint(des);
isfixed = getuserfixed(des);
delobj=listitemselector(dlg.Figure,...
    'Itemlist',Allpts(~isdata),...
    'UnselectedTitle','Free Points:',...
    'SelectedTitle','Fixed Points:');
selectitems(delobj,find(isfixed(~isdata)));

dlg.Content = delobj;

tg=dlg.showDialog;
if strcmpi(tg, 'OK')
    %fix chosen points
    dout=des;
    fixinds=delobj.selecteditems;
    freeinds=delobj.unselecteditems;
    dout = setuserfixed(dout, fixinds);
    dout = setuserfixed(dout, freeinds, false);
    ok = 1;
else
    dout=des;
    ok = 0;
end
delete(dlg);