LCL: TTreeView: accelerated TTreeNode.Index

git-svn-id: trunk@18569 -
This commit is contained in:
mattias 2009-02-04 20:00:28 +00:00
parent 542aea22d8
commit f59b54561e

View File

@ -1004,6 +1004,7 @@ begin
// many algorithms uses the last sibling, so we check that first for speed
if (Parent<>nil) and (Parent[Parent.Count-1]=Self) then begin
Result:=Parent.Count-1;
FIndex:=Result;
exit;
end;
// count previous siblings
@ -1011,8 +1012,13 @@ begin
ANode := Self;
while ANode <> nil do begin
Inc(Result);
if ANode.FIndex>=0 then begin
inc(Result,ANode.FIndex);
break;
end;
ANode := ANode.GetPrevSibling;
end;
FIndex:=Result;
end;
function TTreeNode.GetItems(AnIndex: Integer): TTreeNode;