www.gusucode.com > mbctools 工具箱 matlab 源码程序 > mbctools/+tpsetup/DoEDrivenDialog.m
classdef DoEDrivenDialog < handle %DoEDrivenDialog dialog to create new test plan for DoE % % Start with create static method % tpsetup.DoEDrivenDialog.create(Model) % Copyright 2014-2015 The MathWorks, Inc. and Ford Global Technologies, Inc. properties (SetAccess=private) %Model data model object Model %TemplateSelector UI component to select testplan template TemplateSelector %IOSelector UI component to select inputs IOSelector %Dialog mbcgui.container.Dialog Dialog %Listeners store for listeners Listeners end methods function obj = DoEDrivenDialog(Model) %DoEDrivenDialog constructor obj.Model = Model; dlg = mbcgui.container.Dialog('Name', 'New Test Plan',... 'Size', [500 550], ... 'Buttons', 'OK_CANCEL_HELP', ... 'DefaultAction', 'OK', ... 'CloseAction', 'CANCEL', ... 'HelpCode', 'xreg_newTestPlan', ... 'ValidationFcn',@obj.validate,... 'Tag', 'TestplanTemplates'); obj.Dialog = dlg; % add template component and IO obj.TemplateSelector = tpsetup.TemplateSelector(dlg.Figure,Model); obj.IOSelector = tpsetup.DoEDrivenIO(dlg.Figure,Model); mainl=xreggridbaglayout(dlg.Figure,... 'dimension',[2, 1],... 'elements',{... obj.TemplateSelector.Layout,... obj.IOSelector.Layout},... 'rowsizes',[150,-1],... 'border',[0 10 0 0],... 'gapy',10,... 'gapx',5); set(dlg.Figure,'UserData',obj); dlg.Content = mainl; update(obj) end function update(obj) %update update components update(obj.TemplateSelector) update(obj.IOSelector) end function finalize(obj) %finalize create process final test plan creation on OK [T,ok] = finalize(obj.IOSelector); if ok obj.Model.FinalTestplan = T; createTestplan(obj.Model) end end function ok = validate(obj) [~,ok] = finalize(obj.IOSelector); end end methods(Static) function ok = create(Model) %create static create obj = tpsetup.DoEDrivenDialog(Model); closeMode = obj.Dialog.showDialog(); ok = strcmp(closeMode, 'OK'); if ok finalize(obj); end delete(obj.Dialog); end end end