From e0ccb737f84373be6ee2037def0538145b3398ab Mon Sep 17 00:00:00 2001 From: Maarten Bezemer Date: Wed, 19 Jan 2022 00:45:43 +0100 Subject: [PATCH] Support the search box (ctrl+F) --- YAFC/Workspace/SummaryView.cs | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/YAFC/Workspace/SummaryView.cs b/YAFC/Workspace/SummaryView.cs index b3381cd4..5f488912 100644 --- a/YAFC/Workspace/SummaryView.cs +++ b/YAFC/Workspace/SummaryView.cs @@ -51,6 +51,11 @@ public override void BuildElement(ImGui gui, ProjectPage page) using var grid = gui.EnterInlineGrid(ElementWidth, ElementSpacing); foreach (KeyValuePair goodInfo in view.allGoods) { + if (!view.searchQuery.Match(goodInfo.Key)) + { + continue; + } + float amountAvailable = YAFCRounding((goodInfo.Value.totalProvided > 0 ? goodInfo.Value.totalProvided : 0) + goodInfo.Value.extraProduced); float amountNeeded = YAFCRounding((goodInfo.Value.totalProvided < 0 ? -goodInfo.Value.totalProvided : 0) + goodInfo.Value.totalNeeded); if (view.model.showOnlyIssues && (Math.Abs(amountAvailable - amountNeeded) < Epsilon || amountNeeded == 0)) @@ -127,6 +132,7 @@ struct GoodDetails } private Project project; + private SearchQuery searchQuery; private readonly ScrollArea scrollArea; private readonly SummaryDataColumn goodsColumn; @@ -279,6 +285,13 @@ static private float YAFCRounding(float value) return result; } + public override void SetSearchQuery(SearchQuery query) + { + searchQuery = query; + bodyContent.Rebuild(); + scrollArea.Rebuild(); + } + public override void CreateModelDropdown(ImGui gui, Type type, Project project) { }