www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/@xregGui/@viewGroup/addView.m

    function addView(obj, hView)
%ADDVIEW Add a new viewcontainer to the group
%
%  ADDVIEW(OBJ, HVIEW) adds HVIEW to the list of viewcontainers that are
%  having their selection managed by this viewGroup.  If this is the first
%  viewcontainer added it will be selected, otherwise it will be
%  unselected.  HVIEW may be a vector of viewcontainers

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


% Weed out views that are already added
hView = hView(~ismember(hView, obj.Viewcontainers));

if ~isempty(hView)
    % Attach listeners to button down and destruction events
    for n = 1:length(hView)
        obj.ButtonDownListeners = [obj.ButtonDownListeners; ...
            handle.listener(hView(n), 'ButtonDown', {@i_selectview, obj})];
        obj.DestructionListeners = [obj.DestructionListeners; ...
            handle.listener(hView(n), 'ObjectBeingDestroyed', {@i_removeview, obj})];
    end

    if isempty(obj.Viewcontainers)
        % This are the first views added: select first one and send the
        % selected event
        if length(hView)>1
            set(hView(2:end), 'Selected', 'off');
        end        
        obj.selectView(hView(1));
    else
        % Make sure the new views are not selected
        set(hView, 'Selected', 'off');
    end
    obj.Viewcontainers = [obj.Viewcontainers; hView(:)];
end



function i_selectview(src, evt, obj)
obj.selectView(src);


function i_removeview(src, evt, obj)
obj.removeView(src);