mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-08-18 21:19:24 +02:00
LazUtils: Add backwards compatibility to TAvgLvlTree. Needed by BGRABitmap and others.
git-svn-id: trunk@54545 -
This commit is contained in:
parent
8eda400e32
commit
3c525fb548
@ -25,18 +25,27 @@ uses
|
|||||||
|
|
||||||
type
|
type
|
||||||
|
|
||||||
|
TAvgLvlTree = class;
|
||||||
|
|
||||||
|
TAvgLvlObjectSortCompare = function(Tree: TAvgLvlTree; Data1, Data2: Pointer): integer of object;
|
||||||
|
|
||||||
{ TAvgLvlTree and TAvgLvlTreeNode for backwards compatibility.
|
{ TAvgLvlTree and TAvgLvlTreeNode for backwards compatibility.
|
||||||
They used to be fully implemented here but now inherit from TAVLTreeNode and TAvlTree.
|
They used to be fully implemented here but now inherit from TAVLTreeNode and TAvlTree.
|
||||||
}
|
}
|
||||||
TAvgLvlTreeNode = TAVLTreeNode;
|
TAvgLvlTreeNode = TAVLTreeNode;
|
||||||
|
TAvgLvlTreeNodeEnumerator = TAVLTreeNodeEnumerator;
|
||||||
|
|
||||||
TAvgLvlTree = class(TAvlTree)
|
TAvgLvlTree = class(TAvlTree)
|
||||||
private
|
private
|
||||||
FOwnsObjects: boolean;
|
FOwnsObjects: boolean;
|
||||||
|
function GetObjectCompare: TAvgLvlObjectSortCompare;
|
||||||
|
procedure SetObjectCompare(AValue: TAvgLvlObjectSortCompare);
|
||||||
public
|
public
|
||||||
|
constructor CreateObjectCompare(const OnCompareMethod: TAvgLvlObjectSortCompare);
|
||||||
procedure DisposeNode(aNode: TAVLTreeNode); override;
|
procedure DisposeNode(aNode: TAVLTreeNode); override;
|
||||||
procedure FreeAndDelete(ANode: TAVLTreeNode); override;
|
procedure FreeAndDelete(ANode: TAVLTreeNode); override;
|
||||||
property OwnsObjects: boolean read FOwnsObjects write FOwnsObjects;
|
property OwnsObjects: boolean read FOwnsObjects write FOwnsObjects;
|
||||||
|
property OnObjectCompare: TAvgLvlObjectSortCompare read GetObjectCompare write SetObjectCompare;
|
||||||
end;
|
end;
|
||||||
TAvgLvlTreeClass = class of TAvgLvlTree;
|
TAvgLvlTreeClass = class of TAvgLvlTree;
|
||||||
|
|
||||||
@ -375,6 +384,21 @@ end;
|
|||||||
|
|
||||||
{ TAvgLvlTree }
|
{ TAvgLvlTree }
|
||||||
|
|
||||||
|
constructor TAvgLvlTree.CreateObjectCompare(const OnCompareMethod: TAvgLvlObjectSortCompare);
|
||||||
|
begin
|
||||||
|
inherited CreateObjectCompare(TObjectSortCompare(OnCompareMethod));
|
||||||
|
end;
|
||||||
|
|
||||||
|
procedure TAvgLvlTree.SetObjectCompare(AValue: TAvgLvlObjectSortCompare);
|
||||||
|
begin
|
||||||
|
inherited SetOnObjectCompare(TObjectSortCompare(AValue));
|
||||||
|
end;
|
||||||
|
|
||||||
|
function TAvgLvlTree.GetObjectCompare: TAvgLvlObjectSortCompare;
|
||||||
|
begin
|
||||||
|
Result := TAvgLvlObjectSortCompare(FOnObjectCompare);
|
||||||
|
end;
|
||||||
|
|
||||||
procedure TAvgLvlTree.DisposeNode(aNode: TAVLTreeNode);
|
procedure TAvgLvlTree.DisposeNode(aNode: TAVLTreeNode);
|
||||||
begin
|
begin
|
||||||
if FOwnsObjects then
|
if FOwnsObjects then
|
||||||
|
Loading…
Reference in New Issue
Block a user