Convert some more toolhelper methods to extensions
This commit is contained in:
parent
3bbe3990ed
commit
c988466942
|
@ -34,6 +34,24 @@ namespace BizHawk.Client.EmuHawk.WinFormExtensions
|
|||
{
|
||||
control.Invoke(action);
|
||||
}
|
||||
|
||||
public static void AddColumn(this ListView listView, string columnName, bool enabled, int columnWidth)
|
||||
{
|
||||
if (enabled)
|
||||
{
|
||||
if (listView.Columns[columnName] == null)
|
||||
{
|
||||
var column = new ColumnHeader
|
||||
{
|
||||
Name = columnName,
|
||||
Text = columnName.Replace("Column", string.Empty),
|
||||
Width = columnWidth,
|
||||
};
|
||||
|
||||
listView.Columns.Add(column);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public static class FormExtensions
|
||||
|
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Windows.Forms;
|
||||
using System.Linq;
|
||||
|
||||
using BizHawk.Emulation.Common;
|
||||
using BizHawk.Client.Common;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk.ToolExtensions
|
||||
|
@ -69,5 +70,22 @@ namespace BizHawk.Client.EmuHawk.ToolExtensions
|
|||
{
|
||||
Global.CheatList.RemoveRange(watches.Where(watch => !watch.IsSeparator));
|
||||
}
|
||||
|
||||
public static IEnumerable<ToolStripItem> MenuItems(this MemoryDomainList domains, Action<string> setCallback, string selected = "", int? maxSize = null)
|
||||
{
|
||||
foreach (var domain in domains)
|
||||
{
|
||||
var name = domain.Name;
|
||||
var item = new ToolStripMenuItem
|
||||
{
|
||||
Text = name,
|
||||
Enabled = !(maxSize.HasValue && domain.Size > maxSize.Value),
|
||||
Checked = name == selected
|
||||
};
|
||||
item.Click += (o, ev) => setCallback(name);
|
||||
|
||||
yield return item;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -9,7 +9,9 @@ using System.Windows.Forms;
|
|||
using BizHawk.Client.Common;
|
||||
using BizHawk.Emulation.Cores.Nintendo.SNES;
|
||||
using BizHawk.Emulation.Cores.Sega.Genesis;
|
||||
|
||||
using BizHawk.Client.EmuHawk.ToolExtensions;
|
||||
using BizHawk.Client.EmuHawk.WinFormExtensions;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk
|
||||
{
|
||||
|
@ -235,15 +237,15 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void LoadColumnInfo()
|
||||
{
|
||||
CheatListView.Columns.Clear();
|
||||
ToolHelpers.AddColumn(CheatListView, NAME, Global.Config.CheatsColumnShow[NAME], GetColumnWidth(NAME));
|
||||
ToolHelpers.AddColumn(CheatListView, ADDRESS, Global.Config.CheatsColumnShow[ADDRESS], GetColumnWidth(ADDRESS));
|
||||
ToolHelpers.AddColumn(CheatListView, VALUE, Global.Config.CheatsColumnShow[VALUE], GetColumnWidth(VALUE));
|
||||
ToolHelpers.AddColumn(CheatListView, COMPARE, Global.Config.CheatsColumnShow[COMPARE], GetColumnWidth(COMPARE));
|
||||
ToolHelpers.AddColumn(CheatListView, ON, Global.Config.CheatsColumnShow[ON], GetColumnWidth(ON));
|
||||
ToolHelpers.AddColumn(CheatListView, DOMAIN, Global.Config.CheatsColumnShow[DOMAIN], GetColumnWidth(DOMAIN));
|
||||
ToolHelpers.AddColumn(CheatListView, SIZE, Global.Config.CheatsColumnShow[SIZE], GetColumnWidth(SIZE));
|
||||
ToolHelpers.AddColumn(CheatListView, ENDIAN, Global.Config.CheatsColumnShow[ENDIAN], GetColumnWidth(ENDIAN));
|
||||
ToolHelpers.AddColumn(CheatListView, TYPE, Global.Config.CheatsColumnShow[TYPE], GetColumnWidth(TYPE));
|
||||
CheatListView.AddColumn(NAME, Global.Config.CheatsColumnShow[NAME], GetColumnWidth(NAME));
|
||||
CheatListView.AddColumn(ADDRESS, Global.Config.CheatsColumnShow[ADDRESS], GetColumnWidth(ADDRESS));
|
||||
CheatListView.AddColumn(VALUE, Global.Config.CheatsColumnShow[VALUE], GetColumnWidth(VALUE));
|
||||
CheatListView.AddColumn(COMPARE, Global.Config.CheatsColumnShow[COMPARE], GetColumnWidth(COMPARE));
|
||||
CheatListView.AddColumn(ON, Global.Config.CheatsColumnShow[ON], GetColumnWidth(ON));
|
||||
CheatListView.AddColumn(DOMAIN, Global.Config.CheatsColumnShow[DOMAIN], GetColumnWidth(DOMAIN));
|
||||
CheatListView.AddColumn(SIZE, Global.Config.CheatsColumnShow[SIZE], GetColumnWidth(SIZE));
|
||||
CheatListView.AddColumn(ENDIAN, Global.Config.CheatsColumnShow[ENDIAN], GetColumnWidth(ENDIAN));
|
||||
CheatListView.AddColumn(TYPE, Global.Config.CheatsColumnShow[TYPE], GetColumnWidth(TYPE));
|
||||
|
||||
ColumnPositions();
|
||||
}
|
||||
|
|
|
@ -205,23 +205,6 @@ namespace BizHawk.Client.EmuHawk
|
|||
return new FileInfo(sfd.FileName);
|
||||
}
|
||||
|
||||
public static IEnumerable<ToolStripItem> GenerateMemoryDomainMenuItems(Action<string> setCallback, string selectedDomain = "", int? maxSize = null)
|
||||
{
|
||||
var items = new List<ToolStripMenuItem>();
|
||||
|
||||
foreach (var domain in Global.Emulator.MemoryDomains)
|
||||
{
|
||||
var name = domain.Name;
|
||||
var item = new ToolStripMenuItem { Text = name };
|
||||
item.Click += (o, ev) => setCallback(name);
|
||||
item.Checked = name == selectedDomain;
|
||||
item.Enabled = !(maxSize.HasValue && domain.Size > maxSize.Value);
|
||||
items.Add(item);
|
||||
}
|
||||
|
||||
return items;
|
||||
}
|
||||
|
||||
public static void PopulateMemoryDomainDropdown(ref ComboBox dropdown, MemoryDomain startDomain)
|
||||
{
|
||||
dropdown.Items.Clear();
|
||||
|
@ -257,23 +240,5 @@ namespace BizHawk.Client.EmuHawk
|
|||
GlobalWin.Tools.Load<HexEditor>();
|
||||
GlobalWin.Tools.HexEditor.SetToAddresses(addresses, domain, size);
|
||||
}
|
||||
|
||||
public static void AddColumn(ListView listView, string columnName, bool enabled, int columnWidth)
|
||||
{
|
||||
if (enabled)
|
||||
{
|
||||
if (listView.Columns[columnName] == null)
|
||||
{
|
||||
var column = new ColumnHeader
|
||||
{
|
||||
Name = columnName,
|
||||
Text = columnName.Replace("Column", string.Empty),
|
||||
Width = columnWidth,
|
||||
};
|
||||
|
||||
listView.Columns.Add(column);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
@ -586,11 +586,11 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void LoadColumnInfo()
|
||||
{
|
||||
WatchListView.Columns.Clear();
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.ADDRESS, true, GetColumnWidth(WatchList.ADDRESS));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.VALUE, true, GetColumnWidth(WatchList.VALUE));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.PREV, Global.Config.RamSearchShowPrevColumn, GetColumnWidth(WatchList.PREV));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.CHANGES, Global.Config.RamSearchShowChangeColumn, GetColumnWidth(WatchList.CHANGES));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.DIFF, Global.Config.RamSearchShowDiffColumn, GetColumnWidth(WatchList.DIFF));
|
||||
WatchListView.AddColumn(WatchList.ADDRESS, true, GetColumnWidth(WatchList.ADDRESS));
|
||||
WatchListView.AddColumn(WatchList.VALUE, true, GetColumnWidth(WatchList.VALUE));
|
||||
WatchListView.AddColumn(WatchList.PREV, Global.Config.RamSearchShowPrevColumn, GetColumnWidth(WatchList.PREV));
|
||||
WatchListView.AddColumn(WatchList.CHANGES, Global.Config.RamSearchShowChangeColumn, GetColumnWidth(WatchList.CHANGES));
|
||||
WatchListView.AddColumn(WatchList.DIFF, Global.Config.RamSearchShowDiffColumn, GetColumnWidth(WatchList.DIFF));
|
||||
|
||||
ColumnPositions();
|
||||
}
|
||||
|
@ -1045,7 +1045,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void MemoryDomainsSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
MemoryDomainsSubMenu.DropDownItems.Clear();
|
||||
MemoryDomainsSubMenu.DropDownItems.AddRange(ToolHelpers.GenerateMemoryDomainMenuItems(SetMemoryDomain, _searches.Domain.Name, MaxSupportedSize).ToArray());
|
||||
MemoryDomainsSubMenu.DropDownItems.AddRange(
|
||||
Global.Emulator.MemoryDomains.MenuItems(SetMemoryDomain, _searches.Domain.Name, MaxSupportedSize)
|
||||
.ToArray());
|
||||
}
|
||||
|
||||
private void SizeSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
|
|
|
@ -404,13 +404,13 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void LoadColumnInfo()
|
||||
{
|
||||
WatchListView.Columns.Clear();
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.ADDRESS, Global.Config.RamWatchShowAddressColumn, GetColumnWidth(WatchList.ADDRESS));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.VALUE, true, GetColumnWidth(WatchList.VALUE));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.PREV, Global.Config.RamWatchShowPrevColumn, GetColumnWidth(WatchList.PREV));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.CHANGES, Global.Config.RamWatchShowChangeColumn, GetColumnWidth(WatchList.CHANGES));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.DIFF, Global.Config.RamWatchShowDiffColumn, GetColumnWidth(WatchList.DIFF));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.DOMAIN, Global.Config.RamWatchShowDomainColumn, GetColumnWidth(WatchList.DOMAIN));
|
||||
ToolHelpers.AddColumn(WatchListView, WatchList.NOTES, true, GetColumnWidth(WatchList.NOTES));
|
||||
WatchListView.AddColumn(WatchList.ADDRESS, Global.Config.RamWatchShowAddressColumn, GetColumnWidth(WatchList.ADDRESS));
|
||||
WatchListView.AddColumn(WatchList.VALUE, true, GetColumnWidth(WatchList.VALUE));
|
||||
WatchListView.AddColumn(WatchList.PREV, Global.Config.RamWatchShowPrevColumn, GetColumnWidth(WatchList.PREV));
|
||||
WatchListView.AddColumn(WatchList.CHANGES, Global.Config.RamWatchShowChangeColumn, GetColumnWidth(WatchList.CHANGES));
|
||||
WatchListView.AddColumn(WatchList.DIFF, Global.Config.RamWatchShowDiffColumn, GetColumnWidth(WatchList.DIFF));
|
||||
WatchListView.AddColumn(WatchList.DOMAIN, Global.Config.RamWatchShowDomainColumn, GetColumnWidth(WatchList.DOMAIN));
|
||||
WatchListView.AddColumn(WatchList.NOTES, true, GetColumnWidth(WatchList.NOTES));
|
||||
|
||||
ColumnPositions();
|
||||
}
|
||||
|
@ -714,7 +714,9 @@ namespace BizHawk.Client.EmuHawk
|
|||
private void MemoryDomainsSubMenu_DropDownOpened(object sender, EventArgs e)
|
||||
{
|
||||
MemoryDomainsSubMenu.DropDownItems.Clear();
|
||||
MemoryDomainsSubMenu.DropDownItems.AddRange(ToolHelpers.GenerateMemoryDomainMenuItems(SetMemoryDomain, _watches.Domain.Name).ToArray());
|
||||
MemoryDomainsSubMenu.DropDownItems.AddRange(
|
||||
Global.Emulator.MemoryDomains.MenuItems(SetMemoryDomain, _watches.Domain.Name)
|
||||
.ToArray());
|
||||
}
|
||||
|
||||
private void NewWatchMenuItem_Click(object sender, EventArgs e)
|
||||
|
|
Loading…
Reference in New Issue