ReFormat
(Available in 00 TS Tools(Base) - TS_Tools_Atomizer)
Source
METHOD ReFormat( aAtomized AS ARRAY ) AS ARRAY PASCAL CLASS TS_Atomizer
LOCAL oAtomizerItemThis AS TS_AtomizerItem
LOCAL oAtomizerItemPrev AS TS_AtomizerItem
LOCAL aReFormat AS ARRAY
LOCAL X AS DWORD
LOCAL Z AS DWORD
TSTrace Enter
SELF:_ItemCreationBlocked+=1U
aReFormat:=ArrayCreate( 0U )
Z:=ALen( aAtomized )
oAtomizerItemPrev:=SELF:_GetWhite
FOR X:=1U UPTO Z
oAtomizerItemThis:=aAtomized[ X ]
IF oAtomizerItemThis:IsNotWhite
DO CASE
CASE oAtomizerItemPrev:IsMain .AND. oAtomizerItemThis:IsMain
oAtomizerItemPrev:=SELF:_GetWhite
AAdd( aReFormat, oAtomizerItemPrev )
CASE oAtomizerItemPrev:IsNotWhite .AND. oAtomizerItemThis:NeedsLeadingWhite
oAtomizerItemPrev:=SELF:_GetWhite
AAdd( aReFormat, oAtomizerItemPrev )
CASE oAtomizerItemPrev