www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/@xregGui/@uitoolbar/uitoolbar.m
function obj=uitoolbar(varargin) %UITOOLBAR Constructor for uitoolbar object % % OBJ = UITOOLBAR(prop,value...) % OBJ = UITOOLBAR(PARENT,prop,value...) % Copyright 2000-2010 The MathWorks, Inc. and Ford Global Technologies, Inc. obj = xregGui.uitoolbar; % set any additional inputs if nargin if ischar(varargin{1}) set(obj,varargin{:}); else % assume parent is first arg obj.Parent = varargin{1}; if nargin>1 set(obj,varargin{2:end}); end end end if isempty(obj.Parent) obj.Parent = gcf; end obj.hRenderer = xregGui.javaToolbar(obj); obj.hRenderer.connect(obj, 'up'); % add listeners for property changes obj.hListeners = [... handle.listener(obj, obj.findprop('Parent'), 'PropertyPostSet', {@i_setparent, obj.hRenderer});... handle.listener(obj, obj.findprop('Visible'), 'PropertyPostSet', {@i_setvisible, obj.hRenderer});... handle.listener(obj, obj.findprop('Position'), 'PropertyPostSet', {@i_setposition, obj.hRenderer});... ]; obj.connect(xregfigurehook(obj.Parent),'up'); % Do a full redraw of the toolbar obj.hRenderer.setVisible(strcmp(obj.Visible, 'on')); obj.hRenderer.setPosition(obj.Position); function i_setparent(srcobj, evt, hRenderer) hRenderer.setParent(evt.NewValue); evt.AffectedObject.connect(xregfigurehook(evt.NewValue),'up'); function i_setvisible(srcobj, evt, hRenderer) hRenderer.setVisible(strcmp(evt.NewValue, 'on')); function i_setposition(srcobj, evt, hRenderer) hRenderer.setPosition(evt.NewValue);