on new ( me , aListofMembers)
me .mInitClass()
me .mInitInstance()
if aListofMembers. ilk = #list then me .mLoadMembers(aListofMembers)
return me
end
on mDestroy ( me )
if myTimeout. ilk = #timeout then myTimeout. forget ()
myIndex = myIndexMax
cancelIdleLoad (myLoadtag)
the idleLoadMode = myDefaultIdleMode
end
on mLoadMembers ( me , aListofMembers)
myMemberList = aListofMembers. duplicate ()
myIndexMax = myMemberList. count
myIndex = 0
myTimeout = timeout ( me . string ). new ( 0 , #nothing , me )
the idleLoadMode = 3
end
on mGetPercentageDone ( me )
if myIndexMax > 0 then
return ( float (myIndex)/(myIndexMax))* 100
else
return 100
end if
end
on exitframe ( me )
if idleLoadDone (myLoadtag) then
if me .mLoadNextMember() = 0 then
myTimeout. target = VOID
myTimeout. forget ()
the idleLoadMode = myDefaultIdleMode
end if
end if
end
on mLoadNextMember ( me )
if myIndex < myIndexMax then
myIndex = myIndex + 1
thisMember = myMemberList[myIndex]