Skip to content

Commit

Permalink
Fix functionlist searching
Browse files Browse the repository at this point in the history
  • Loading branch information
ollydev committed Jan 5, 2024
1 parent 88c5ce3 commit b328eee
Show file tree
Hide file tree
Showing 2 changed files with 33 additions and 7 deletions.
20 changes: 13 additions & 7 deletions Source/components/simba.component_treeview.pas
Original file line number Diff line number Diff line change
Expand Up @@ -46,9 +46,6 @@ TSimbaInternalTreeView = class(TTreeView)
TNodeForEachEvent = procedure(const Node: TTreeNode) is nested;

TSimbaTreeView = class(TCustomControl)
private
function GetFilterVisible: Boolean;
procedure SetFilterVisible(Value: Boolean);
protected
FFilterPanel: TCustomControl;
FFilterEdit: TSimbaEdit;
Expand All @@ -69,7 +66,11 @@ TSimbaTreeView = class(TCustomControl)
function GetLoading: Boolean;
function GetOnDoubleClick: TNotifyEvent;
function GetOnSelectionChange: TNotifyEvent;
function GetFilterVisible: Boolean;
function GetScrolledLeft: Integer;
function GetScrolledTop: Integer;

procedure SetFilterVisible(Value: Boolean);
procedure SetFilter(Value: String);
procedure SetImages(Value: TCustomImageList);
procedure SetLoading(Value: Boolean);
Expand All @@ -78,9 +79,6 @@ TSimbaTreeView = class(TCustomControl)
procedure SetScrolledLeft(Value: Integer);
procedure SetScrolledTop(Value: Integer);

function GetScrolledLeft: Integer;
function GetScrolledTop: Integer;

function GetItems: TTreeNodes;
function GetSelected: TTreeNode;
function GetFilter: String;
Expand Down Expand Up @@ -359,7 +357,15 @@ procedure TSimbaTreeView.UpdateFilter;
Node := Items.GetFirstNode();
while Assigned(Node) do
begin
Node.Visible := (FilterText = '') or (Pos(FilterText, LowerCase(Node.Text)) > 0);
if not Node.Enabled then
begin
Node.Visible := False;
Node := Node.GetNextSibling;

Continue;
end;

Node.Visible := ((FilterText = '') or (Pos(FilterText, LowerCase(Node.Text)) > 0));

if Node.Visible then
begin
Expand Down
20 changes: 20 additions & 0 deletions Source/forms/simba.functionlistform.pas
Original file line number Diff line number Diff line change
Expand Up @@ -184,6 +184,18 @@ function GetURL(const Section: String): String;
end;

procedure TSimbaFunctionListForm.ResetState;

procedure HideAllIncludePluginNodes(const ANode: TTreeNode);
var
Node: TSimbaFunctionListNode absolute ANode;
begin
if (Node.NodeType in [ntIncludes, ntPlugins]) then
begin
Node.Visible := False;
Node.Enabled := False;
end;
end;

begin
FTreeView.Filter := '';
FTreeView.FullCollapse();
Expand All @@ -192,6 +204,10 @@ procedure TSimbaFunctionListForm.ResetState;

FSimbaNode.Expanded := True;
FScriptNode.Expanded := True;

FTreeView.ForEachTopLevel(@HideAllIncludePluginNodes);

FForceUpdate := True;
end;

procedure TSimbaFunctionListForm.SaveState(TabID: Integer);
Expand Down Expand Up @@ -387,10 +403,12 @@ procedure TSimbaFunctionListForm.AddPluginsNode(Plugins: TCodeParserList; Hash:

Node.LastUsed := 0;
Node.Visible := True;
Node.Enabled := True;
end else
begin
Node.LastUsed := Node.LastUsed + 1;
Node.Visible := False;
Node.Enabled := False;
end;
end;

Expand Down Expand Up @@ -449,10 +467,12 @@ procedure TSimbaFunctionListForm.AddIncludesNode(Includes: TCodeParserList; Hash

Node.LastUsed := 0;
Node.Visible := True;
Node.Enabled := True;
end else
begin
Node.LastUsed := Node.LastUsed + 1;
Node.Visible := False;
Node.Enabled := False;
end;
end;

Expand Down

0 comments on commit b328eee

Please sign in to comment.