Hex Editor - properly check/uncheck memory domain menu items

This commit is contained in:
andres.delikat 2011-03-29 20:06:03 +00:00
parent 9df469a971
commit fe9ee404ee
2 changed files with 26 additions and 13 deletions

View File

@ -45,6 +45,7 @@
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.goToAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addToRamWatchToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.freezeAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.settingsToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.restoreWindowSizeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.autoloadToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -55,7 +56,7 @@
this.freezeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
this.freezeAddressToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.menuStrip1.SuspendLayout();
this.ViewerContextMenuStrip.SuspendLayout();
this.SuspendLayout();
@ -180,12 +181,20 @@
this.addToRamWatchToolStripMenuItem1.Text = "Add to Ram Watch";
this.addToRamWatchToolStripMenuItem1.Click += new System.EventHandler(this.addToRamWatchToolStripMenuItem1_Click);
//
// freezeAddressToolStripMenuItem
//
this.freezeAddressToolStripMenuItem.Name = "freezeAddressToolStripMenuItem";
this.freezeAddressToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.freezeAddressToolStripMenuItem.Text = "&Freeze Address";
this.freezeAddressToolStripMenuItem.Click += new System.EventHandler(this.freezeAddressToolStripMenuItem_Click);
//
// settingsToolStripMenuItem
//
this.settingsToolStripMenuItem.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.restoreWindowSizeToolStripMenuItem,
this.autoloadToolStripMenuItem,
this.saveWindowsSettingsToolStripMenuItem});
this.saveWindowsSettingsToolStripMenuItem,
this.toolStripSeparator3,
this.restoreWindowSizeToolStripMenuItem});
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(58, 20);
this.settingsToolStripMenuItem.Text = "&Settings";
@ -266,12 +275,10 @@
this.MemoryViewer.Paint += new System.Windows.Forms.PaintEventHandler(this.MemoryViewer_Paint);
this.MemoryViewer.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.MemoryViewer_MouseDoubleClick);
//
// freezeAddressToolStripMenuItem
// toolStripSeparator3
//
this.freezeAddressToolStripMenuItem.Name = "freezeAddressToolStripMenuItem";
this.freezeAddressToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.freezeAddressToolStripMenuItem.Text = "&Freeze Address";
this.freezeAddressToolStripMenuItem.Click += new System.EventHandler(this.freezeAddressToolStripMenuItem_Click);
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(191, 6);
//
// HexEditor
//
@ -323,5 +330,6 @@
private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem1;
private System.Windows.Forms.ToolStripMenuItem saveWindowsSettingsToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem freezeAddressToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator3;
}
}

View File

@ -26,7 +26,9 @@ namespace BizHawk.MultiClient
int defaultWidth;
int defaultHeight;
List<ToolStripMenuItem> domainMenuItems = new List<ToolStripMenuItem>();
public HexEditor()
{
InitializeComponent();
@ -123,8 +125,11 @@ namespace BizHawk.MultiClient
}
}
private void SetMemoryDomain(int pos)
private void SetMemoryDomain(int pos, ToolStripMenuItem item)
{
for (int x = 0; x < domainMenuItems.Count; x++)
domainMenuItems[x].Checked = false;
item.Checked = true;
if (pos < Global.Emulator.MemoryDomains.Count) //Sanity check
{
MemoryViewer.SetMemoryDomain(Global.Emulator.MemoryDomains[pos]);
@ -152,14 +157,14 @@ namespace BizHawk.MultiClient
item.Text = str;
{
int z = x;
item.Click += (o, ev) => SetMemoryDomain(z);
item.Click += (o, ev) => SetMemoryDomain(z, item);
}
if (x == 0)
{
//item.Checked = true; //TODO: figure out how to check/uncheck these in SetMemoryDomain
SetMemoryDomain(x);
SetMemoryDomain(x, item);
}
memoryDomainsToolStripMenuItem.DropDownItems.Add(item);
domainMenuItems.Add(item);
}
}
else