From e7884f67966cbffcf3b1c5438ecb0083c293893e Mon Sep 17 00:00:00 2001 From: YoshiRulz Date: Wed, 8 Feb 2023 06:19:05 +1000 Subject: [PATCH] Hide debug tools from Tool Box and add ext. tools --- src/BizHawk.Client.EmuHawk/MainForm.cs | 2 +- src/BizHawk.Client.EmuHawk/tools/ToolBox.cs | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/BizHawk.Client.EmuHawk/MainForm.cs b/src/BizHawk.Client.EmuHawk/MainForm.cs index 1dec0a4ee4..35c05c78a6 100644 --- a/src/BizHawk.Client.EmuHawk/MainForm.cs +++ b/src/BizHawk.Client.EmuHawk/MainForm.cs @@ -1019,7 +1019,7 @@ namespace BizHawk.Client.EmuHawk private readonly IGL GL; - private readonly ExternalToolManager ExtToolManager; + internal readonly ExternalToolManager ExtToolManager; public readonly ToolManager Tools; diff --git a/src/BizHawk.Client.EmuHawk/tools/ToolBox.cs b/src/BizHawk.Client.EmuHawk/tools/ToolBox.cs index 868a7655ca..1e63e83e20 100644 --- a/src/BizHawk.Client.EmuHawk/tools/ToolBox.cs +++ b/src/BizHawk.Client.EmuHawk/tools/ToolBox.cs @@ -19,6 +19,9 @@ namespace BizHawk.Client.EmuHawk private static readonly Lazy> ToolTypes = new(() => EmuHawk.ReflectionCache.Types .Where(static t => typeof(IToolForm).IsAssignableFrom(t) && typeof(Form).IsAssignableFrom(t)) +#if DEBUG + .Where(static t => t.Namespace is not "BizHawk.Client.EmuHawk.ForDebugging") +#endif .Where(VersionInfo.DeveloperBuild ? static t => true : static t => !t.GetCustomAttributes(false).OfType().Any(static a => !a.Released)) @@ -67,6 +70,18 @@ namespace BizHawk.Client.EmuHawk tsb.Click += (_, _) => Tools.Load(t); ToolBoxStrip.Items.Add(tsb); } + foreach (var tsi in ((MainForm) MainForm).ExtToolManager.ToolStripItems) //TODO nicer encapsulation + { + if (!tsi.Enabled) continue; + ToolStripButton tsb = new() { + DisplayStyle = ToolStripItemDisplayStyle.Image, + Image = tsi.Image ?? IconMissingIcon.Value, + Text = tsi.Text, + }; + var info = (ExternalToolManager.MenuItemInfo) tsi.Tag; + tsb.Click += (_, _) => info.TryLoad(); + ToolBoxStrip.Items.Add(tsb); + } } private void SetSize()