www.gusucode.com > appdesigner工具箱matlab源码程序 > appdesigner/+appdesigner/+internal/+model/AppChildModelFactory.m

    classdef AppChildModelFactory < appdesservices.internal.interfaces.model.DesignTimeModelFactory
    % AppChildModelFactory  Factory to create children of the AppModel
    %
    % Copyright 2013-2016 The MathWorks, Inc.
    
   
    methods
        
        function model = createModel(obj, parentModel, peerNode)
            % create a model with the proxyView as a child of the parentModel

			type = char(peerNode.getType());			
            switch (type)
                case 'matlab.ui.Figure'
                    factory = matlab.ui.control.internal.model.DesignTimeComponentFactory;
            		model = ...
                        factory.createModel(...
                        parentModel, ...
                        peerNode);
                    
                case 'CodeData'
                    % Create the proxyView for this child peerNode
                    proxyView = ...
                        appdesigner.internal.view.DesignTimeProxyView(peerNode);
                     model = appdesigner.internal.codegeneration.model.CodeData(parentModel, proxyView);

                case 'Code'
                    model = 'Code';                   
                    
                otherwise
                    assert(false,sprintf('Unhandled proxyView type: %s', type));
            end
            
        end
    end
end