www.gusucode.com > mbc 工具箱 matlab 源码程序 > mbc/+mbctreeadapter/CageTree.m
classdef CageTree < mbctreeadapter.BrowserTree %CAGETREE interface to Java tree for CAGE browser % Copyright 2011 The MathWorks, Inc. properties %TYPEFILTER CAGE node type TypeFilter = cgtools.cgbasetype; end methods function C=CageTree(varargin) %CAGETREE constructor C@mbctreeadapter.BrowserTree('IconLocation',cgrespath,... 'IconTransparentColor',[255 0 255],... varargin{:}); end function refresh(C,varargin) refresh@mbctreeadapter.BrowserTree(C,varargin{:}) r = C.ContentHandle.Root; if ~isempty(r) r.Editable = false; end end function update(C,p) %UPDATE update name and icon for tree node % update(C,p) % update(C) % p can be a vector of pointers to tree data % If no p is specified, then the selected node is updated. if nargin<2 p = C.Selected; end for i=1:length(p) node = findNode(C,p(i)); if ~isempty(node) OldItemName = node.Name; [NewName,NewIcon]= getDetails(C,p(i)); AllNodes = find(C.ContentHandle.Root,'Name',OldItemName); set(AllNodes,'Name',NewName,'Icon',NewIcon) end end end function ch = getChildren(T,p) ch = p.children; if p==p.root ch = T.TypeFilter.filterlist(ch); end end end methods (Access=protected) function selectFirst(C,p) %SELECTFIRST select the first item on tree if isempty(p) || isnull(p) node = C.ContentHandle.Root; if ~isempty(node.down) node = node.down; end else node = findNode(C,p); if isempty(node) node = C.ContentHandle.Root; end end if ~isempty(node) C.ContentHandle.selectNode(node); end end end end