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);