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