Skip to content

Commit 27a86af

Browse files
committed
Added search bar to repopulate results matching a specified string
1 parent 1d6da66 commit 27a86af

File tree

3 files changed

+66
-28
lines changed

3 files changed

+66
-28
lines changed

WzVisualizer/GUI/Form1.Designer.cs

Lines changed: 28 additions & 16 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

WzVisualizer/GUI/Form1.cs

Lines changed: 29 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -354,6 +354,11 @@ public void AddGridRow(DataGridView grid, BinData binData)
354354
string allProperties = "";
355355
foreach (string prop in binData.properties)
356356
allProperties += prop + "\r\n";
357+
358+
string filter = SearchTextBox.Text;
359+
if (filter?.Length > 0 && !binData.Search(filter))
360+
return;
361+
357362
if (InvokeRequired)
358363
{
359364
Image image = binData?.image;
@@ -451,6 +456,8 @@ private void BtnSave_Click(object sender, EventArgs e)
451456
}
452457
}
453458

459+
#region tab change events
460+
454461
private void TabEquips_Selected(object sender, TabControlEventArgs e)
455462
{
456463
Tab_Selected(sender, e.TabPage);
@@ -468,19 +475,8 @@ private void TabSetup_Selected(object sender, TabControlEventArgs e)
468475

469476
private void TabControlMain_SelectedIndexChanged(object sender, EventArgs e)
470477
{
471-
TabPage root = TabControlMain.SelectedTab;
472-
object control = root.Controls[0];
473-
if (control is TabControl tab)
474-
Tab_Selected(sender, tab.SelectedTab);
475-
else
476-
Tab_Selected(sender, root);
477-
}
478-
479-
private void MainForm_Load(object sender, EventArgs e)
480-
{
481-
GridIOUtility.ImportGrid("equips/Hairs.bin", GridEHairs, AddGridRow);
478+
Tab_Selected(sender, GetSelectedTab());
482479
}
483-
#endregion
484480

485481
private void Tab_Selected(object sender, TabPage tab)
486482
{
@@ -509,5 +505,26 @@ private void Tab_Selected(object sender, TabPage tab)
509505
}
510506
}
511507
}
508+
#endregion
509+
510+
private void MainForm_Load(object sender, EventArgs e)
511+
{
512+
GridIOUtility.ImportGrid("equips/Hairs.bin", GridEHairs, AddGridRow);
513+
}
514+
515+
private void SearchTextBox_KeyPress(object sender, KeyPressEventArgs e)
516+
{
517+
int keyCode = (int)e.KeyChar;
518+
if (keyCode == (int)Keys.Enter)
519+
Tab_Selected(sender, GetSelectedTab());
520+
}
521+
#endregion
522+
523+
private TabPage GetSelectedTab()
524+
{
525+
TabPage root = TabControlMain.SelectedTab;
526+
object control = root.Controls[0];
527+
return (control is TabControl tab) ? tab.SelectedTab : root;
528+
}
512529
}
513530
}

WzVisualizer/IO/BinData.cs

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,5 +18,14 @@ public string Name {
1818
get { return _name; }
1919
set { _name = value ?? "NO-NAME"; }
2020
}
21+
22+
public bool Search(string filter)
23+
{
24+
if (ID.ToString().Contains(filter)) return true;
25+
if (Name.ToLower().Contains(filter.ToLower())) return true;
26+
foreach (string prop in properties)
27+
if (prop.ToLower().Contains(filter.ToLower())) return true;
28+
return false;
29+
}
2130
}
2231
}

0 commit comments

Comments
 (0)