mirror of
https://gitlab.com/freepascal.org/lazarus/lazarus.git
synced 2025-04-13 14:09:39 +02:00
lcl: TTreeNodes.FreeAllNodeData
git-svn-id: trunk@41740 -
This commit is contained in:
parent
3e71fee9df
commit
b293ec66bf
lcl
@ -2657,14 +2657,12 @@ type
|
||||
function GetOwner: TPersistent; override;
|
||||
public
|
||||
constructor Create(AnOwner: TTreeNodes);
|
||||
destructor Destroy; override;
|
||||
function AlphaSort: Boolean;
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
procedure Collapse(Recurse: Boolean);
|
||||
function Bottom: integer;
|
||||
function BottomExpanded: integer;
|
||||
function CustomSort(SortProc: TTreeNodeCompare): Boolean;
|
||||
function DefaultTreeViewSort(Node1, Node2: TTreeNode): Integer;
|
||||
procedure Delete;
|
||||
procedure DeleteChildren;
|
||||
destructor Destroy; override;
|
||||
function DisplayExpandSignLeft: integer;
|
||||
function DisplayExpandSignRect: TRect;
|
||||
function DisplayExpandSignRight: integer;
|
||||
@ -2674,27 +2672,23 @@ type
|
||||
function DisplayTextLeft: integer;
|
||||
function DisplayTextRight: integer;
|
||||
function EditText: Boolean;
|
||||
procedure EndEdit(Cancel: Boolean);
|
||||
procedure Expand(Recurse: Boolean);
|
||||
procedure ExpandParents;
|
||||
function Bottom: integer;
|
||||
function BottomExpanded: integer;
|
||||
function GetParentNodeOfAbsoluteLevel(TheAbsoluteLevel: integer): TTreeNode;
|
||||
function FindNode(const NodeText: string): TTreeNode;
|
||||
function GetFirstChild: TTreeNode;
|
||||
function GetFirstVisibleChild: TTreeNode;
|
||||
function GetHandle: THandle;
|
||||
function GetLastSibling: TTreeNode;
|
||||
function GetLastChild: TTreeNode;
|
||||
function GetLastVisibleChild: TTreeNode;
|
||||
function GetLastSibling: TTreeNode;
|
||||
function GetLastSubChild: TTreeNode;
|
||||
function GetLastVisibleChild: TTreeNode;
|
||||
function GetNext: TTreeNode;
|
||||
function GetNextSkipChildren: TTreeNode;
|
||||
function GetNextChild(AValue: TTreeNode): TTreeNode;
|
||||
function GetNextExpanded: TTreeNode;
|
||||
function GetNextMultiSelected: TTreeNode;
|
||||
function GetNextSibling: TTreeNode;
|
||||
function GetNextSkipChildren: TTreeNode;
|
||||
function GetNextVisible: TTreeNode;
|
||||
function GetNextVisibleSibling: TTreeNode;
|
||||
function GetParentNodeOfAbsoluteLevel(TheAbsoluteLevel: integer): TTreeNode;
|
||||
function GetPrev: TTreeNode;
|
||||
function GetPrevChild(AValue: TTreeNode): TTreeNode;
|
||||
function GetPrevExpanded: TTreeNode;
|
||||
@ -2702,47 +2696,54 @@ type
|
||||
function GetPrevSibling: TTreeNode;
|
||||
function GetPrevVisible: TTreeNode;
|
||||
function GetPrevVisibleSibling: TTreeNode;
|
||||
function GetTextPath: string;
|
||||
function HasAsParent(AValue: TTreeNode): Boolean;
|
||||
function IndexOf(AValue: TTreeNode): Integer;
|
||||
function IndexOfText(const NodeText: string): Integer;
|
||||
function FindNode(const NodeText: string): TTreeNode;
|
||||
function GetTextPath: string;
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
procedure Collapse(Recurse: Boolean);
|
||||
procedure ConsistencyCheck;
|
||||
procedure Delete;
|
||||
procedure DeleteChildren;
|
||||
procedure EndEdit(Cancel: Boolean);
|
||||
procedure Expand(Recurse: Boolean);
|
||||
procedure ExpandParents;
|
||||
procedure FreeAllNodeData;
|
||||
procedure MakeVisible;
|
||||
procedure MoveTo(Destination: TTreeNode; Mode: TNodeAttachMode); virtual;
|
||||
procedure MultiSelectGroup;
|
||||
procedure Update;
|
||||
procedure ConsistencyCheck;
|
||||
procedure WriteDebugReport(const Prefix: string; Recurse: boolean);
|
||||
property AbsoluteIndex: Integer read GetAbsoluteIndex;
|
||||
property Count: Integer read GetCount;
|
||||
property Cut: Boolean read GetCut write SetCut;
|
||||
property Data: Pointer read FData write SetData;
|
||||
property Deleting: Boolean read GetDeleting;
|
||||
property Focused: Boolean read GetFocused write SetFocused;
|
||||
property DropTarget: Boolean read GetDropTarget write SetDropTarget;
|
||||
property Expanded: Boolean read GetExpanded write SetExpanded;
|
||||
property Focused: Boolean read GetFocused write SetFocused;
|
||||
property Handle: THandle read GetHandle;
|
||||
property HasChildren: Boolean read GetHasChildren write SetHasChildren;
|
||||
property Height: integer read GetHeight write SetHeight;
|
||||
property NodeEffect: TGraphicsDrawEffect read FNodeEffect write SetImageEffect;
|
||||
property ImageIndex: TImageIndex read FImageIndex write SetImageIndex default -1;
|
||||
property Index: Integer read GetIndex write SetIndex;
|
||||
property IsVisible: Boolean read IsNodeVisible;
|
||||
property IsFullHeightVisible: Boolean read IsNodeHeightFullVisible;
|
||||
property IsVisible: Boolean read IsNodeVisible;
|
||||
property Items[ItemIndex: Integer]: TTreeNode read GetItems write SetItems; default;
|
||||
property Level: Integer read GetLevel;
|
||||
property MultiSelected: Boolean read GetMultiSelected write SetMultiSelected;
|
||||
property NodeEffect: TGraphicsDrawEffect read FNodeEffect write SetImageEffect;
|
||||
property OverlayIndex: Integer read FOverlayIndex write SetOverlayIndex default -1;
|
||||
property Owner: TTreeNodes read FOwner;
|
||||
property Parent: TTreeNode read FParent;
|
||||
property Selected: Boolean read GetSelected write SetSelected;
|
||||
property SelectedIndex: Integer read FSelectedIndex write SetSelectedIndex default -1;
|
||||
property SubTreeCount: integer read FSubTreeCount;
|
||||
property StateIndex: Integer read FStateIndex write SetStateIndex default -1;
|
||||
property SubTreeCount: integer read FSubTreeCount;
|
||||
property Text: string read FText write SetText;
|
||||
property Top: integer read GetTop;
|
||||
property TreeNodes: TTreeNodes read GetTreeNodes;
|
||||
property TreeView: TCustomTreeView read GetTreeView;
|
||||
property Top: integer read GetTop;
|
||||
property Visible: Boolean read FVisible write SetVisible default True;
|
||||
end;
|
||||
|
||||
@ -2818,40 +2819,41 @@ type
|
||||
function AddChildObjectFirst(ParentNode: TTreeNode; const S: string;
|
||||
Data: Pointer): TTreeNode;
|
||||
function AddFirst(SiblingNode: TTreeNode; const S: string): TTreeNode;
|
||||
function AddNode(Node: TTreeNode; Relative: TTreeNode; const S: string;
|
||||
Ptr: Pointer; Method: TNodeAttachMode): TTreeNode;
|
||||
function AddObject(SiblingNode: TTreeNode; const S: string;
|
||||
Data: Pointer): TTreeNode;
|
||||
function AddObjectFirst(SiblingNode: TTreeNode; const S: string;
|
||||
Data: Pointer): TTreeNode;
|
||||
function AddNode(Node: TTreeNode; Relative: TTreeNode; const S: string;
|
||||
Ptr: Pointer; Method: TNodeAttachMode): TTreeNode;
|
||||
function FindNodeWithData(const NodeData: Pointer): TTreeNode;
|
||||
function FindNodeWithText(const NodeText: string): TTreeNode;
|
||||
function FindTopLvlNode(const NodeText: string): TTreeNode;
|
||||
function GetEnumerator: TTreeNodesEnumerator;
|
||||
function GetFirstNode: TTreeNode;
|
||||
function GetFirstVisibleNode: TTreeNode;
|
||||
function GetLastExpandedSubNode: TTreeNode; // absolute last node
|
||||
function GetLastNode: TTreeNode; // last top level node
|
||||
function GetLastSubNode: TTreeNode; // absolute last node
|
||||
function GetLastVisibleNode: TTreeNode;
|
||||
function GetSelections(const AIndex: Integer): TTreeNode;
|
||||
function Insert(NextNode: TTreeNode; const S: string): TTreeNode;
|
||||
function InsertBehind(PrevNode: TTreeNode; const S: string): TTreeNode;
|
||||
function InsertObject(NextNode: TTreeNode; const S: string;
|
||||
Data: Pointer): TTreeNode;
|
||||
function InsertObjectBehind(PrevNode: TTreeNode; const S: string;
|
||||
Data: Pointer): TTreeNode;
|
||||
function IsMultiSelection: boolean;
|
||||
procedure Assign(Source: TPersistent); override;
|
||||
procedure BeginUpdate;
|
||||
procedure Clear;
|
||||
procedure ClearMultiSelection(ClearSelected: boolean = false);
|
||||
procedure SelectOnlyThis(Node: TTreeNode);
|
||||
function IsMultiSelection: boolean;
|
||||
procedure ConsistencyCheck;
|
||||
procedure Delete(Node: TTreeNode);
|
||||
procedure EndUpdate;
|
||||
function GetEnumerator: TTreeNodesEnumerator;
|
||||
function GetFirstNode: TTreeNode;
|
||||
function GetFirstVisibleNode: TTreeNode;
|
||||
function GetLastNode: TTreeNode; // last top level node
|
||||
function GetLastVisibleNode: TTreeNode;
|
||||
function GetLastSubNode: TTreeNode; // absolute last node
|
||||
function GetLastExpandedSubNode: TTreeNode; // absolute last node
|
||||
function GetSelections(const AIndex: Integer): TTreeNode;
|
||||
function FindTopLvlNode(const NodeText: string): TTreeNode;
|
||||
function FindNodeWithText(const NodeText: string): TTreeNode;
|
||||
function FindNodeWithData(const NodeData: Pointer): TTreeNode;
|
||||
function Insert(NextNode: TTreeNode; const S: string): TTreeNode;
|
||||
function InsertObject(NextNode: TTreeNode; const S: string;
|
||||
Data: Pointer): TTreeNode;
|
||||
function InsertBehind(PrevNode: TTreeNode; const S: string): TTreeNode;
|
||||
function InsertObjectBehind(PrevNode: TTreeNode; const S: string;
|
||||
Data: Pointer): TTreeNode;
|
||||
procedure FreeAllNodeData;
|
||||
procedure SelectionsChanged(ANode: TTreeNode; const AIsSelected: Boolean);
|
||||
procedure SelectOnlyThis(Node: TTreeNode);
|
||||
procedure SortTopLevelNodes(SortProc: TTreeNodeCompare);
|
||||
procedure ConsistencyCheck;
|
||||
procedure WriteDebugReport(const Prefix: string; AllNodes: boolean);
|
||||
property Count: Integer read GetCount;
|
||||
property Item[Index: Integer]: TTreeNode read GetNodeFromIndex; default;
|
||||
|
@ -699,6 +699,15 @@ begin
|
||||
end;
|
||||
end;
|
||||
|
||||
procedure TTreeNode.FreeAllNodeData;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
FreeAndNil(FData);
|
||||
for i:=0 to Count-1 do
|
||||
Items[i].FreeAllNodeData;
|
||||
end;
|
||||
|
||||
procedure TTreeNode.Collapse(Recurse: Boolean);
|
||||
begin
|
||||
ExpandItem(False, Recurse);
|
||||
@ -772,7 +781,7 @@ begin
|
||||
Update;
|
||||
end;
|
||||
|
||||
function TTreeNode.GetCut: Boolean;
|
||||
function TTreeNode.GetCut: boolean;
|
||||
begin
|
||||
Result := GetState(nsCut);
|
||||
end;
|
||||
@ -2497,6 +2506,16 @@ begin
|
||||
if FUpdateCount = 0 then SetUpdateState(False);
|
||||
end;
|
||||
|
||||
procedure TTreeNodes.FreeAllNodeData;
|
||||
var
|
||||
i: Integer;
|
||||
begin
|
||||
BeginUpdate;
|
||||
for i:=0 to TopLvlCount-1 do
|
||||
TopLvlItems[i].FreeAllNodeData;
|
||||
EndUpdate;
|
||||
end;
|
||||
|
||||
function TTreeNodes.GetEnumerator: TTreeNodesEnumerator;
|
||||
begin
|
||||
Result := TTreeNodesEnumerator.Create(Self);
|
||||
|
Loading…
Reference in New Issue
Block a user