www.gusucode.com > mbcdata 工具箱 matlab 源码程序 > mbcdata/+cgmergesetup/TestplanPage.m
classdef TestplanPage < cgmergesetup.MergeItemsPage %CGMERGESETUP.TESTPLANPAGE wizard page for setting up composite models from model browser % Copyright 2009-2013 The MathWorks, Inc. and Ford Global Technologies, Inc. properties %RESPONSELIST list of responses ResponseList hTotalResponses end methods function updatePage(M,iFace) %UPDATEDATA update mergesetup data % updateData(M) updatePage@cgmergesetup.MergeItemsPage(M,iFace) updateResponseTool(M); M.hInfoPane.Title = 'Test plan selection'; M.hInfoPane.InfoString = 'Select test plans to create composite models from.'; end end methods(Access=protected) function M = TestplanPage(fh,iFace,C) M@cgmergesetup.MergeItemsPage(fh,iFace,C); end function h = createResponseTool(M,fh,iFace) %#ok<INUSD> %createResponseLayout create main layout for model page % M.hTotalResponses = uicontrol('Parent',fh,... 'HorizontalAlignment','right',... 'Style','text',... 'String','Total responses:'); h = M.hTotalResponses; end function configureMergeTable(M) %CONFIGUREMERGETABLE configure table for selection of items to be merged % configureMergeTable(M,fh) M.ModelList.Peer.setIconBaseLocation(xregrespath); M.ModelList.Peer.setColumnData( {'Test plan','Inputs'} ); M.ModelList.Peer.setColumnWidths([150 260]); M.ModelList.Peer.setDisplayChecks(true); end function updateMergeTable(M) %UPDATEMERGETABLE % updateMergeTable(M) C = M.Data; Table = [C.Labels(:),C.InputLabels(:)]; M.ModelList.Peer.setData(Table); end function updateResponseTool(M) %UPDATERESPONSETool % updateResponseTool(M) C = M.Data; % update response list set(M.hTotalResponses,... 'String',sprintf('Total responses:%2d',length(C.Responses))); end function enableNext(M,iFace,State) %enableNext(M,iFace,State) C = M.Data; if nargin<3 State = length(C.pSelected)>1 && ~isempty(C.Responses); end feval(iFace.setNextButton, State); feval(iFace.setFinishButton, false); end function f= getNextPage(M) %#ok<MANU> %getNextPage next page is for mode setup f = @cgmergesetup.ResponsePage.createPage; end end methods(Static) function layout = createPage( C,fh, iFace ) %CREATEPAGE static factory function for test plan selection %page % layout = cgmergesetup.TestplanPage.createPage( C,fh, iFace ) if isa(fh, 'xregcontainer') M = get(fh,'UserData'); updatePage(M,iFace) else iFace.setWizardSize( [450, 350] ); iFace.setUserData(C); M = cgmergesetup.TestplanPage(fh,iFace,C); end layout = M.Layout; end end end