www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/@mbcwidgets/@itemList/pUpdateTable.m
function pUpdateTable(obj, propnames) %PUPDATETABLE Update the contained Table1D/Peer % % This make sure the contained Table1D and it's Peer have the correct % settings based upon the current properties of the itemList. % % PUPDATETABLE(OBJ, PROPNAMES) update properties in cell array PROPNAMES. % Copyright 2006-2007 The MathWorks, Inc. if ischar( propnames ) propnames = {propnames}; end for n = 1:length(propnames) switch propnames{n} case 'BorderStyle' obj.pSetBorder(); case 'DisplayChecks' if( length( obj.getChecks() ) ~= length( obj.Items ) ) checks = false( size( obj.Items ) ); obj.setChecks( checks ); end obj.Display.Peer.setDisplayChecks( obj.DisplayChecks ); case 'DisplayHeaderRow' obj.Display.ShowColumnHeader = obj.DisplayHeaderRow; case 'DisplayTypeColumn' if obj.DisplayTypeColumn obj.Display.Peer.setColumnData( {obj.ItemHeaderText, obj.TypeHeaderText} ); else obj.Display.Peer.setColumnData( {obj.ItemHeaderText} ); end obj.pDisplay(true); obj.pSetColumnWidths; case 'ItemColumnWidth' obj.pSetColumnWidths(); case {'ItemHeaderText', 'TypeHeaderText'} if obj.DisplayTypeColumn colData = {obj.ItemHeaderText, obj.TypeHeaderText}; else colData = {obj.ItemHeaderText}; end obj.Display.Peer.setColumnData( colData ); case 'Items' nItems = length( obj.Items ); obj.SelectedIndexListener.Enabled = 'off'; % remove any selections that are not valid any more obj.SelectedIndex(obj.SelectedIndex>nItems) = []; obj.SelectedIndexListener.Enabled = 'on'; obj.setChecks( false( 1, nItems ) ); obj.pDisplay(false); obj.pSetColumnWidths; case 'SelectedIndex' if ~isempty( obj.SelectedIndex ) obj.Display.selectRows( obj.SelectedIndex ); else obj.Display.clearSelection(); end case 'SelectionStyle' multiSelect = strcmp(obj.SelectionStyle, 'multiple'); if multiSelect obj.Display.SelectionMode = 'MultiRow'; else obj.Display.SelectionMode = 'SingleRow'; end if ~multiSelect && (length(obj.SelectedIndex)>1) obj.SelectedIndex = min(obj.SelectedIndex); end obj.pUpdateTable( 'SelectedIndex' ); case 'UIContextMenu' obj.Display.TableContextMenu = obj.UIContextMenu; end end