www.gusucode.com > mbclayouts 工具箱 matlab 源码程序 > mbclayouts/@xregtoolbarlayout/set.m
function obj =set(obj,varargin) % Synopsis % function obj = set(obj,parameter,value) % % Description % Set the parameter of the handles. This works very similar % to the set methods for handles. The only difference is that % some methods have been overloaded to perform differently % on the package. Non overload methods just perform the set % recursively on all submembers. % % % % Overloaded set methods % CENTER : object/layout to place in centre of frametitle % USERDATA : User-definable data store % VISIBLE : on/off % TOOLBARDRAW : on/off - suppresses toolbar redrawing for faster creation. % SPACERWIDTH : height in pixels of gap between toolbar and central object % % Copyright 2000-2011 The MathWorks, Inc. and Ford Global Technologies, Inc. dorepack = 0; if ~isa(obj,'xregtoolbarlayout') set(mbcgui.hgclassesutil.toHandle(obj),varargin{:}); else cdata=get(obj.xregcontainer,'containerdata'); for arg=1:2:nargin-1 parameter = varargin{arg}; value = varargin{arg+1}; reqrepack=1; switch upper(parameter) case 'CENTER' cdata.elements={value}; case 'VISIBLE' set(obj.panel,'Visible',value); % iterate over elements el=cdata.elements; for k=1:length(el) set(el{k},'Visible',value); end reqrepack=0; case 'TOOLBARDRAW' flg = (find( strncmpi( value,{ 'off', 'on' },length(value) ) )-1)~=0; obj.tb.setRedraw(flg); if flg obj.tb.drawToolBar; end case 'SPACERWIDTH' ud=obj.rtP.info; ud.SpacerW=value; obj.rtP.info=ud; case 'RESOURCELOCATION' obj.tb.ResourceLocation=value; otherwise [obj.xregcontainer,reqrepack]=set(obj.xregcontainer,parameter,value); reqrepack=~reqrepack; end dorepack = (dorepack || reqrepack); end end if dorepack && getBoolPackstatus(obj.xregcontainer) obj = repack(obj); end