Ram Watch - Wire up column hiding/showing

This commit is contained in:
adelikat 2019-10-14 19:11:07 -05:00
parent d3353f6acf
commit 5b83b9e019
2 changed files with 37 additions and 2 deletions

View File

@ -80,6 +80,41 @@ namespace BizHawk.Client.EmuHawk.WinFormExtensions
}
}
public static ToolStripMenuItem ToColumnsMenu(this InputRoll inputRoll)
{
var menu = new ToolStripMenuItem
{
Name = "GeneratedColumnsSubMenu",
Text = "Columns"
};
var columns = inputRoll.AllColumns;
foreach (var column in columns)
{
var menuItem = new ToolStripMenuItem
{
Text = $"{column.Text} ({column.Name})",
Checked = column.Visible,
CheckOnClick = true,
Tag = column.Name
};
menuItem.CheckedChanged += (o, ev) =>
{
var sender = (ToolStripMenuItem)o;
columns.Find(c => c.Name == (string)sender.Tag).Visible = sender.Checked;
columns.ColumnsChanged();
inputRoll.Refresh();
};
menu.DropDownItems.Add(menuItem);
}
return menu;
}
public static ToolStripMenuItem GenerateColumnsMenu(this ToolDialogSettings.ColumnList list, Action changeCallback)
{
var menu = new ToolStripMenuItem

View File

@ -1100,7 +1100,7 @@ namespace BizHawk.Client.EmuHawk
.OfType<ToolStripMenuItem>()
.First(x => x.Name == "GeneratedColumnsSubMenu"));
RamWatchMenu.Items.Add(Settings.Columns.GenerateColumnsMenu(ColumnToggleCallback));
RamWatchMenu.Items.Add(WatchListView.ToColumnsMenu());
Global.Config.DisplayRamWatch = false;
@ -1118,7 +1118,7 @@ namespace BizHawk.Client.EmuHawk
TopMost = Settings.TopMost;
_watches = new WatchList(MemoryDomains, Emu.SystemId);
LoadConfigSettings();
RamWatchMenu.Items.Add(Settings.Columns.GenerateColumnsMenu(ColumnToggleCallback));
RamWatchMenu.Items.Add(WatchListView.ToColumnsMenu());
UpdateStatusBar();
PokeAddressToolBarItem.Enabled =