www.gusucode.com > mbclayouts 工具箱 matlab 源码程序 > mbclayouts/@xregcontainer/set.m

    function  [obj,norepack] =set(obj,varargin)
%  Synopsis
%     function  obj = set(obj,parameter,value,parameter,...)
%
%  Description
%
%  Overloaded methods
%     Position : [xmin xmax width height] of the whole package.
%     Elements : { control1 control2 .... controln }
%     TAG      : string
%     PACKSTATUS: 'OFF' | 'ON'
%     USERDATA: MATLAB value
%     PARENT   : parent figure
%     BORDER   : [WEST SOUTH EAST NORTH] border around an object in pixels
%
%
%  See Also
%     methods xregcontainer

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




if ~isa(obj,'xregcontainer')
   set(mbcgui.hgclassesutil.toHandle(obj),varargin{:});
   norepack = true;
else
   % turn on UDD repack tracking
   obj.g.TrackRepack=true;
   for arg=1:2:nargin-1
      parameter = varargin{arg};
      value = varargin{arg+1};
      if ~isempty(findprop(obj.g,parameter))
         % UDD object property
         set(obj.g,parameter,value);
      else
         el=obj.g.elements;
         L = length(el(:));
         
         % Automatically translate case for standard component properties
         % that often go through here.
         if strcmpi(parameter, 'Parent')
             parameter = 'Parent';
         end
         if strcmpi(parameter, 'Visible')
             parameter = 'Visible';
         end
         if strcmpi(parameter, 'enable')
             parameter = 'Enable';
         end
         
         for k = L:-1:1   % reverse order fixes tabbing order problems
            set(el{k},parameter,value);
         end
      end
   end
end

norepack= ~obj.g.NeedRepack;
obj.g.NeedRepack=false;
obj.g.TrackRepack=false;