www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/+mbctreeadapter/UIDesignTree.m
classdef UIDesignTree < mbctreeadapter.JavaUITree %mbctreeadapter.UIDesignTree UI tree for design editor % % See also mbctreeadapter.DesignEditorTree, mbctreeadapter.DesignTree % Copyright 2011 The MathWorks, Inc. %#ok<*MANU> properties Chosen end methods function T=UIDesignTree(varargin) T@mbctreeadapter.JavaUITree(varargin{:}); end end methods function set.Chosen(T,pdes) if ~isequal(pdes,T.Chosen) T.Chosen = pdes; if ~isempty(T.Root) update(T,pdes) end end end function refresh(T,varargin) refresh@mbctreeadapter.JavaUITree(T,varargin{:}); % expand all the tree T.expand; % root is not editable T.ContentHandle.Root.Editable = false; end function add(T,varargin) add@mbctreeadapter.JavaUITree(T,varargin{:}); T.expand; end function ch = getChildren(T,p) p = p.down; ch = []; while ~isempty(p) ch = [ch p]; p = p.right; end end function parent = getParent(T,p) if ~isempty(p) parent = p.up; else parent = []; end end end methods (Access=protected) function createChildren(T,parent,MaxLvl,ch) if nargin<3 MaxLvl=2; end if nargin<4 ch = getChildren(T,parent); end parentNode = findNode(T,parent); if ~isempty(ch) for i=1:length(ch) node = createNode(T,ch(i)); add(parentNode,node); if MaxLvl>1 createChildren(T,ch(i),MaxLvl-1) end end end end function [Name,Icon]= getDetails(T,p) if p==T.Root Name = 'Designs'; Icon = 'des_stack.bmp'; elseif isequal(p,T.Chosen) D = p.info; Name = name(D); Icon = iconfile(D,1); else D = p.info; Name = name(D); Icon = iconfile(D); end end function OK =isValidPointer(T,p) OK = isa(p,'xregGui.RunTimePointer') && ishandle(p); end end end