From b68b5ca7c6965a8098f59c672df80b3fb598e21d Mon Sep 17 00:00:00 2001 From: juha Date: Wed, 4 Jan 2012 12:08:36 +0000 Subject: [PATCH] TreeFilterEdit: support using components derived from TCustomTreeview git-svn-id: trunk@34575 - --- components/lazcontrols/treefilteredit.pas | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/components/lazcontrols/treefilteredit.pas b/components/lazcontrols/treefilteredit.pas index d0a735efbd..c8faceb329 100644 --- a/components/lazcontrols/treefilteredit.pas +++ b/components/lazcontrols/treefilteredit.pas @@ -54,7 +54,8 @@ type fShowDirHierarchy: Boolean; // Show direcories / files as a tree structure. fBranches: TBranchList; // Items are under these nodes can be sorted. fOnGetImageIndex: TImageIndexEvent; - procedure SetFilteredTreeview(const AValue: TTreeview); + function GetFilteredTreeview: TCustomTreeview; + procedure SetFilteredTreeview(const AValue: TCustomTreeview); procedure SetShowDirHierarchy(const AValue: Boolean); protected procedure MoveNext; override; @@ -76,9 +77,8 @@ type property ShowDirHierarchy: Boolean read fShowDirHierarchy write SetShowDirHierarchy; property Branches: TBranchList read fBranches write fBranches; published - property FilteredTreeview: TTreeview read fFilteredTreeview write SetFilteredTreeview; + property FilteredTreeview: TCustomTreeview read GetFilteredTreeview write SetFilteredTreeview; property OnGetImageIndex: TImageIndexEvent read fOnGetImageIndex write fOnGetImageIndex; -// deprecated 'use OnGetImageIndex handler in FilteredTreeview'; end; { TFileNameItem } @@ -173,7 +173,7 @@ begin if Assigned(fRootNode) then fRootNode.DeleteChildren // Delete old tree nodes. else - fOwner.FilteredTreeview.Items.Clear; + fOwner.fFilteredTreeview.Items.Clear; if fOwner.ShowDirHierarchy then fTVNodeStack:=TTreeNodeList.Create; for i:=0 to fSortedData.Count-1 do begin @@ -183,7 +183,7 @@ begin TVNode:=fTVNodeStack[fTVNodeStack.Count-1]; end else - TVNode:=fOwner.FilteredTreeview.Items.AddChild(fRootNode,FileN); + TVNode:=fOwner.fFilteredTreeview.Items.AddChild(fRootNode,FileN); // else TVNode:=fFilteredTreeview.Items.Add(Nil,FileN); if fFilenameMap.Count > 0 then begin s:=FileN; @@ -270,7 +270,7 @@ begin Node.Text:=FilePart; end else - Node:=fOwner.FilteredTreeview.Items.Add(Node,FilePart); + Node:=fOwner.fFilteredTreeview.Items.Add(Node,FilePart); fTVNodeStack[p]:=Node; end; end else begin @@ -284,7 +284,7 @@ begin Node.Text:=FilePart; end else - Node:=fOwner.FilteredTreeview.Items.AddChild(Node,FilePart); + Node:=fOwner.fFilteredTreeview.Items.AddChild(Node,FilePart); fTVNodeStack.Add(Node); end; if (Filename<>'') then begin @@ -323,13 +323,18 @@ begin Result := TreeFilterGlyph; end; -procedure TTreeFilterEdit.SetFilteredTreeview(const AValue: TTreeview); +procedure TTreeFilterEdit.SetFilteredTreeview(const AValue: TCustomTreeview); begin if fFilteredTreeview = AValue then Exit; - fFilteredTreeview:=AValue; + fFilteredTreeview := TTreeview(AValue); if AValue = nil then Exit; end; +function TTreeFilterEdit.GetFilteredTreeview: TCustomTreeview; +begin + Result:=fFilteredTreeview; +end; + procedure TTreeFilterEdit.SetShowDirHierarchy(const AValue: Boolean); begin if fShowDirHierarchy=AValue then exit;