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

    function doSetupBaseClass( obj )
%DOSETUPBASECLASS Setup listeners
%
%  obj.doSetupBaseClass

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



obj.scrollTable_DataListeners = [ ...
        event.proplistener(obj, obj.findprop('RowHeaderData'), 'PostSet', @i_setRHData) ;...
        event.proplistener(obj, obj.findprop('ColumnHeaderData'), 'PostSet', @i_setCHData) ;...
        event.proplistener(obj, obj.findprop('MainData'), 'PostSet', @i_setMainData) ;...
    ];


function i_setRHData(srcobj,evt)
obj = evt.AffectedObject;
obj.updateDataFlag;
obj.updateRealSize;
if obj.canPaint
    if obj.isAlive
        obj.paintRowHeader;
    else
        obj.updateToLiveState;
    end
else
    obj.updateToDeadState;
end


function i_setCHData(srcobj,evt)
obj = evt.AffectedObject;
obj.updateDataFlag;
obj.updateRealSize;
if obj.canPaint
    if obj.isAlive
        obj.paintColumnHeader;
    else
        obj.updateToLiveState;
    end
else
    obj.updateToDeadState;
end


function i_setMainData(srcobj,evt)
obj = evt.AffectedObject;
obj.updateDataFlag;

obj.disableScrolling;
obj.checkScrollLocation;
obj.enableScrolling;

obj.updateRealSize;
if obj.canPaint
    if obj.isAlive
        if obj.isCreatedCorrect
            obj.paintMain;
        else
            % Need to add/delete display objects
            obj.updateObjectArrays;
            obj.paintMain;
        end
    else
        obj.updateToLiveState;
    end
else
    obj.updateToDeadState;
end