www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/@texlistbox/texlistbox.m
function obj=texlistbox(varargin) % TEXLISTBOX Constructor for TexListBox % % T=TEXLISTBOX constructs a list box which uses Axes text objects % to render the strings. % % Copyright 2000-2010 The MathWorks, Inc. and Ford Global Technologies, Inc. % Created 4/10/2000 if nargin>0 && mbcgui.util.isComponentParent(varargin{1}) figh=varargin{1}; varargin(1)=[]; else figh=gcf; end obj.version=1; ud.string={''}; % cell array of strings ud.userdata=[]; ud.value=1; % selected index/indices ud.selmode=0; % single/multi-select ud.multiclickind=1; % last select for use with multi-select mode ud.max=1; ud.min=0; ud.parent=figh; ud.fonts.fontsize=get(figh,'DefaultUicontrolFontSize'); ud.fonts.fontname=get(figh,'DefaultUicontrolFontName'); ud.callback=''; % decide cell height ax=axestext(figh,'visible','off',... 'fontsize',ud.fonts.fontsize,... 'fontname',ud.fonts.fontname,... 'FontUnits','pixels',... 'string','Yy'); ext(4)=12; delete(ax); l=xreglistctrl(figh,'visible','off',... 'cellborder',0,... 'cellheight',ext(4)-2,... 'userdata',ud,... 'callback','cbselect(%OBJECT%,%VALUE%);'); obj=class(obj,'texlistbox',l); % install the sub-object as the callback dispatcher. set(obj,'object',obj); if ~any(strcmpi('visible',varargin(1:2:end))) set(obj.xreglistctrl,'Visible','on'); end if ~isempty(varargin) obj=set(obj,varargin{:}); end return