www.gusucode.com > mbcguitools 工具箱 matlab 源码程序 > mbcguitools/+mbcgui/+widget/@ClassicTable/setPosition.m
function val = setPosition(obj, val) %SETPOSITION Respond to position being set % % SETPOSITION(OBJ, EVT) is called after the object's position % property has been set. % Copyright 2015-2015 The MathWorks, Inc. and Ford Global Technologies, Inc. % Turn off packing on the grid object setBoolPackstatus(obj.gridObject, false); if ~isempty(val) set(obj.gridObject, 'Position', val); end % Check the number of rows/cols to be made visible availH = obj.Position(4); if (diff(obj.ScrollColumnLimits)>0); availH = availH - obj.ScrollbarWidth; end if obj.ShowColumnHeaders availH = availH - obj.ColumnHeaderWidth; end availW = obj.Position(3); if (diff(obj.ScrollRowLimits)>0); availW = availW - obj.ScrollbarWidth; end if obj.ShowRowHeaders availW = availW - obj.RowHeaderWidth; end div = obj.MinimumCellSize(2)+obj.RowGap; if div==0 nR = double(intmax); else nR = max(1, floor(availH/div)); end div = obj.MinimumCellSize(1)+obj.ColumnGap; if div==0 nC = double(intmax); else nC = max(1, floor(availW/div)); end % This call will trigger events that lead to this class redoing the grid % setup if necessary obj.setVisibleSize(nR, nC); setBoolPackstatus(obj.gridObject, true); repack(obj.gridObject); end