www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/@mbcwidgets/@scrollTable/deleteObjects.m

    function deleteObjects( obj, h_del, cachename)
%DELETEOBJECTS  Delete given display objects
%
%  DELETEOBJECTS(OBJ, h_DEL, CACHE)

%  Copyright 2000-2010 The MathWorks, Inc. and Ford Global Technologies, Inc.


if nargin<3
    % No caching requested
    delete(h_del);    
else
    Ndel = numel(h_del);
    if Ndel>0
        switch cachename
            case 'row'
                Nincache = length(obj.rowObjectCache);
                if Nincache<obj.headObjectCacheSize
                    Ntocache = min(Ndel, obj.headObjectCacheSize-Nincache);
                    h_keep = h_del(1:Ntocache);
                    set(h_keep, 'Visible','off');
                    obj.rowObjectCache = [obj.rowObjectCache; h_keep(:)];
                    if Ntocache<Ndel
                        delete(h_del(Ntocache+1:end));
                    end
                else
                    delete(h_del);
                end
            case 'col'
                Nincache = length(obj.colObjectCache);
                if Nincache<obj.headObjectCacheSize
                    Ntocache = min(Ndel, obj.headObjectCacheSize-Nincache);
                    h_keep = h_del(1:Ntocache);
                    set(h_keep, 'Visible','off');
                    obj.colObjectCache = [obj.colObjectCache; h_keep(:)];
                    if Ntocache<Ndel
                        delete(h_del(Ntocache+1:end));
                    end
                else
                    delete(h_del);
                end
            case 'main'
                Nincache = length(obj.mainObjectCache);
                if Nincache<obj.mainObjectCacheSize
                    Ntocache = min(Ndel, obj.mainObjectCacheSize-Nincache);
                    h_keep = h_del(1:Ntocache);
                    set(h_keep, 'Visible','off');
                    obj.mainObjectCache = [obj.mainObjectCache; h_keep(:)];
                    if Ntocache<Ndel
                        delete(h_del(Ntocache+1:end));
                    end
                else
                    delete(h_del);
                end
            otherwise
                error(message('mbc:scrolltable:InvalidArgument'));
        end
    end
end