www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/@mbcmodel/@project/project.m

    function obj = project(varargin)
%PROJECT Private mbcmodel.project constructor.
%
%   PRJ = PROJECT
%   PRJ = PROJECT( MDEVPROJECT )
%   PRJ = PROJECT( PMDEVPROJECT )
%   PRJ = PROJECT( PROP, VALUE, ...)
%   PRJ = PROJECT( MDEVPROJECT, PROP, VALUE, ...)
%   PRJ = PROJECT( PMDEVPROJECT, PROP, VALUE, ...)
%
%   See also mbcmodel/CreateProject.

%   Copyright 2004-2007 The MathWorks, Inc.

HAS_MDEVPROJECT = nargin > 0 && (isa(varargin{1}, 'mdevproject') || isa(varargin{1}, 'xregpointer'));
initArgs = {};
setArgs  = varargin;
if HAS_MDEVPROJECT
    initArgs = varargin(1);
    setArgs  = varargin(2:end);
end

% Create the udd object
obj = mbcmodel.project;
% And initialise it
obj.pInitialise(initArgs{:});
% Finally set the appropriate fields
obj.set(setArgs{:});
% And listen for our destruction event
obj.addListener(handle.listener(obj, 'ObjectBeingDestroyed', @i_projectBeingDestroyed));


% ------------------------------------------------------------------------------
%
% ------------------------------------------------------------------------------
function i_projectBeingDestroyed(P, event)
% Let's delete this project
if P.isNotNull && ~isBrowserProject(P.Object)
    closeMBCProject(P.Object);
end