www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/+mbcgui/+widget/@ScrollTable/updateRealSize.m

    function updateRealSize( obj )
%UPDATEREALSIZE Update the internal size properties
%
%  UPDATEREALSIZE(OBJ)

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


szData = obj.pGetDataSize;

oldR = obj.numRows;
oldC = obj.numCols;
obj.numRows = min(obj.VisibleRows, szData(1));
obj.numCols = min(obj.VisibleCols, szData(2));

if oldR~=obj.numRows || oldC~=obj.numCols
    obj.notify('DisplaySizeChanged', event.EventData);
end

% update public scrolling limits properties
oldsz = [obj.ScrollColumnLimits(end, end), obj.ScrollRowLimits(end, end)];
if obj.canPaint
    obj.ScrollRowLimits = [1 max(1, szData(1)-obj.numRows+1)];
    obj.ScrollColumnLimits = [1 max(1, szData(2)-obj.numCols+1)];
else
    obj.ScrollRowLimits = [0 0];
    obj.ScrollColumnLimits = [0 0];
end

newsz = [obj.ScrollColumnLimits(end, end), obj.ScrollRowLimits(end, end)];
if any(oldsz~=newsz)
    obj.notify('DataSizeChanged');
end