www.gusucode.com > mbclayouts 工具箱 matlab 源码程序 > mbclayouts/@xregtoolbarlayout/xregtoolbarlayout.m
function obj = xregtoolbarlayout(varargin) % Synopsis % function obj = xregtoolbarlayout(parameter,value,parameter,....) % function obj = xregtoolbarlayout(fig,parameter,value,parameter,....) % % Description % Creates a xregtoolbarlayout container in the (optional) figure fig. % % See also % xregtoolbarlayout/set % Copyright 2000-2010 The MathWorks, Inc. and Ford Global Technologies, Inc. fig = []; if nargin if mbcgui.util.isComponentParent(varargin{1}) fig = varargin{1}; varargin(1) = []; end end if isempty(fig) fig = gcf; end c = xregcontainer(fig); sc = xregGui.SystemColorsDbl; obj.panel = mbcgui.container.layoutpanel(... 'Parent', fig, ... 'Visible', 'off', ... 'BorderType', 'beveledin'); obj.tb = xregGui.uitoolbar('Parent',obj.panel); set(obj.panel, 'LayoutComponent', {obj.tb}); obj.tbListener = []; obj.spacer = uicontrol('Parent', fig, ... 'Visible', 'off', ... 'Style', 'text', ... 'BackgroundColor', sc.CTRL_BACK, ... 'HitTest', 'off', ... 'Enable', 'inactive'); ud.SpacerW=4; obj.rtP = xregGui.RunTimePointer(ud); connectdata(c, obj.rtP); connectdata(c, obj.panel); connectdata(c, obj.spacer); obj = class(obj,'xregtoolbarlayout',c); % look for a visible set in remaining args if ~any(strcmpi('Visible',varargin(1:2:end))) % set ui objects to visible set(obj.panel,'Visible','on'); set(obj.spacer,'Visible','on'); end if ~isempty(varargin) set(obj,varargin{:}); end obj.tbListener = handle.listener(obj.tb,findprop(obj.tb,'DesiredHeight'),... 'PropertyPostSet',{@i_setTBHeight,obj}); function i_setTBHeight(srcobj,evt,obj) % adjust the layout's proportions repack(obj);