symlist, style

This commit is contained in:
Basile Burg 2015-09-24 00:42:40 +02:00
parent edb3030264
commit 7371dd28fa
1 changed files with 14 additions and 15 deletions

View File

@ -307,7 +307,7 @@ begin
end end
else inherited; else inherited;
end; end;
{$ENDREGIOn} {$ENDREGION}
{$REGION Standard Comp/Obj------------------------------------------------------} {$REGION Standard Comp/Obj------------------------------------------------------}
constructor TCESymbolListWidget.create(aOwner: TComponent); constructor TCESymbolListWidget.create(aOwner: TComponent);
@ -602,7 +602,7 @@ end;
procedure TCESymbolListWidget.TreeFilterEdit1AfterFilter(Sender: TObject); procedure TCESymbolListWidget.TreeFilterEdit1AfterFilter(Sender: TObject);
begin begin
if TreeFilterEdit1.Filter ='' then if TreeFilterEdit1.Filter = '' then
updateVisibleCat; updateVisibleCat;
end; end;
@ -768,46 +768,45 @@ end;
procedure TCESymbolListWidget.smartExpand; procedure TCESymbolListWidget.smartExpand;
var var
i: integer; i: integer;
nearest, target: NativeUint; target: NativeUint;
toExpand: TTreeNode; nearest: NativeUint = 0;
toExpand: TTreeNode = nil;
procedure look(root: TTreeNode); procedure look(root: TTreeNode);
var var
i: integer; i: integer;
l: NativeUint; line: NativeUint;
begin begin
for i := 0 to root.Count-1 do for i := 0 to root.Count-1 do
begin begin
if root.Items[i].Data = nil then if root.Items[i].Data = nil then
continue; continue;
{$HINTS OFF}
if root.Items[i].Parent = nil then if root.Items[i].Parent = nil then
continue; continue;
case root.Items[i].Parent.Text of case root.Items[i].Parent.Text of
'Alias', 'Enum', 'Import', 'Variable': 'Alias', 'Enum', 'Import', 'Variable':
continue; continue;
end; end;
l := NativeUInt(root.Items[i].Data); {$HINTS OFF}
line := NativeUInt(root.Items[i].Data);
{$HINTS ON} {$HINTS ON}
if l > target then if line > target then
continue; continue;
if l > nearest then if line > nearest then
begin begin
nearest := l; nearest := line;
toExpand := root.Items[i]; toExpand := root.Items[i];
end; end;
end; end;
end; end;
begin begin
if fDoc = nil then exit; if not assigned(fDoc) then exit;
// //
target := fDoc.CaretY; target := fDoc.CaretY;
toExpand := nil;
nearest := 0;
for i := 0 to tree.Items.Count-1 do for i := 0 to tree.Items.Count-1 do
look(tree.Items[i]); look(tree.Items[i]);
if toExpand <> nil then if assigned(toExpand) then
begin begin
tree.Selected := toExpand; tree.Selected := toExpand;
toExpand.MakeVisible; toExpand.MakeVisible;