Hex Editor - add to Ram Watch menu item

This commit is contained in:
andres.delikat 2011-03-08 14:50:12 +00:00
parent 89981af655
commit 8e3acd847a
3 changed files with 39 additions and 13 deletions

View File

@ -52,6 +52,8 @@
this.freezeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.freezeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.addToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer(); this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.addToRamWatchToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
this.menuStrip1.SuspendLayout(); this.menuStrip1.SuspendLayout();
this.ViewerContextMenuStrip.SuspendLayout(); this.ViewerContextMenuStrip.SuspendLayout();
this.SuspendLayout(); this.SuspendLayout();
@ -103,7 +105,9 @@
this.memoryDomainsToolStripMenuItem, this.memoryDomainsToolStripMenuItem,
this.dataSizeToolStripMenuItem, this.dataSizeToolStripMenuItem,
this.enToolStripMenuItem, this.enToolStripMenuItem,
this.goToAddressToolStripMenuItem}); this.toolStripSeparator2,
this.goToAddressToolStripMenuItem,
this.addToRamWatchToolStripMenuItem1});
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20); this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
this.optionsToolStripMenuItem.Text = "&Options"; this.optionsToolStripMenuItem.Text = "&Options";
@ -112,7 +116,7 @@
// memoryDomainsToolStripMenuItem // memoryDomainsToolStripMenuItem
// //
this.memoryDomainsToolStripMenuItem.Name = "memoryDomainsToolStripMenuItem"; this.memoryDomainsToolStripMenuItem.Name = "memoryDomainsToolStripMenuItem";
this.memoryDomainsToolStripMenuItem.Size = new System.Drawing.Size(192, 22); this.memoryDomainsToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.memoryDomainsToolStripMenuItem.Text = "&Memory Domains"; this.memoryDomainsToolStripMenuItem.Text = "&Memory Domains";
// //
// dataSizeToolStripMenuItem // dataSizeToolStripMenuItem
@ -122,7 +126,7 @@
this.byteToolStripMenuItem1, this.byteToolStripMenuItem1,
this.byteToolStripMenuItem2}); this.byteToolStripMenuItem2});
this.dataSizeToolStripMenuItem.Name = "dataSizeToolStripMenuItem"; this.dataSizeToolStripMenuItem.Name = "dataSizeToolStripMenuItem";
this.dataSizeToolStripMenuItem.Size = new System.Drawing.Size(192, 22); this.dataSizeToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.dataSizeToolStripMenuItem.Text = "Data Size"; this.dataSizeToolStripMenuItem.Text = "Data Size";
// //
// byteToolStripMenuItem // byteToolStripMenuItem
@ -149,7 +153,7 @@
// enToolStripMenuItem // enToolStripMenuItem
// //
this.enToolStripMenuItem.Name = "enToolStripMenuItem"; this.enToolStripMenuItem.Name = "enToolStripMenuItem";
this.enToolStripMenuItem.Size = new System.Drawing.Size(192, 22); this.enToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.enToolStripMenuItem.Text = "Big Endian"; this.enToolStripMenuItem.Text = "Big Endian";
this.enToolStripMenuItem.Click += new System.EventHandler(this.enToolStripMenuItem_Click); this.enToolStripMenuItem.Click += new System.EventHandler(this.enToolStripMenuItem_Click);
// //
@ -157,8 +161,8 @@
// //
this.goToAddressToolStripMenuItem.Name = "goToAddressToolStripMenuItem"; this.goToAddressToolStripMenuItem.Name = "goToAddressToolStripMenuItem";
this.goToAddressToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G))); this.goToAddressToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.G)));
this.goToAddressToolStripMenuItem.Size = new System.Drawing.Size(192, 22); this.goToAddressToolStripMenuItem.Size = new System.Drawing.Size(204, 22);
this.goToAddressToolStripMenuItem.Text = "Go to Address"; this.goToAddressToolStripMenuItem.Text = "&Go to Address...";
this.goToAddressToolStripMenuItem.Click += new System.EventHandler(this.goToAddressToolStripMenuItem_Click); this.goToAddressToolStripMenuItem.Click += new System.EventHandler(this.goToAddressToolStripMenuItem_Click);
// //
// settingsToolStripMenuItem // settingsToolStripMenuItem
@ -198,7 +202,7 @@
this.freezeToolStripMenuItem, this.freezeToolStripMenuItem,
this.addToRamWatchToolStripMenuItem}); this.addToRamWatchToolStripMenuItem});
this.ViewerContextMenuStrip.Name = "ViewerContextMenuStrip"; this.ViewerContextMenuStrip.Name = "ViewerContextMenuStrip";
this.ViewerContextMenuStrip.Size = new System.Drawing.Size(176, 92); this.ViewerContextMenuStrip.Size = new System.Drawing.Size(176, 70);
// //
// pokeToolStripMenuItem // pokeToolStripMenuItem
// //
@ -236,6 +240,18 @@
this.MemoryViewer.Paint += new System.Windows.Forms.PaintEventHandler(this.MemoryViewer_Paint); this.MemoryViewer.Paint += new System.Windows.Forms.PaintEventHandler(this.MemoryViewer_Paint);
this.MemoryViewer.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.MemoryViewer_MouseDoubleClick); this.MemoryViewer.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.MemoryViewer_MouseDoubleClick);
// //
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(201, 6);
//
// addToRamWatchToolStripMenuItem1
//
this.addToRamWatchToolStripMenuItem1.Name = "addToRamWatchToolStripMenuItem1";
this.addToRamWatchToolStripMenuItem1.Size = new System.Drawing.Size(204, 22);
this.addToRamWatchToolStripMenuItem1.Text = "Add to Ram Watch";
this.addToRamWatchToolStripMenuItem1.Click += new System.EventHandler(this.addToRamWatchToolStripMenuItem1_Click);
//
// HexEditor // HexEditor
// //
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
@ -282,5 +298,7 @@
private System.Windows.Forms.ToolStripMenuItem pokeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem pokeToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem freezeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem freezeToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem;
private System.Windows.Forms.ToolStripSeparator toolStripSeparator2;
private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem1;
} }
} }

View File

@ -16,10 +16,7 @@ namespace BizHawk.MultiClient
//Find text box - autohighlights matches, and shows total matches //Find text box - autohighlights matches, and shows total matches
//Users can customize background, & text colors //Users can customize background, & text colors
//Tool strip //Tool strip
//Double click sends all highlighted to Ram Watch not just currently pointed
//Add to Ram Watch menu item, enabled conditionally on if any address is highlighted
//Text box showing currently highlighted address(es) & total //Text box showing currently highlighted address(es) & total
//Typing legit hex values = memory poke
//Show num addresses in group box title (show "address" if 1 address) //Show num addresses in group box title (show "address" if 1 address)
//big font for currently mouse over'ed value? //big font for currently mouse over'ed value?
@ -106,6 +103,11 @@ namespace BizHawk.MultiClient
byteToolStripMenuItem2.Checked = true; byteToolStripMenuItem2.Checked = true;
break; break;
} }
if (MemoryViewer.GetHighlightedAddress() >= 0)
addToRamWatchToolStripMenuItem1.Enabled = true;
else
addToRamWatchToolStripMenuItem1.Enabled = false;
} }
private void SetMemoryDomain(int pos) private void SetMemoryDomain(int pos)
@ -278,6 +280,11 @@ namespace BizHawk.MultiClient
AddToRamWatch(); AddToRamWatch();
} }
private void addToRamWatchToolStripMenuItem1_Click(object sender, EventArgs e)
{
AddToRamWatch();
}
} }
} }

View File

@ -12,9 +12,11 @@ namespace BizHawk.MultiClient
{ {
//TODO: highlighting and address determining for 2 & 4 byte viewing //TODO: highlighting and address determining for 2 & 4 byte viewing
//2 & 4 byte typign in //2 & 4 byte typign in
//show nibbles instead of highlighted address //show nibbles on top of highlighted address
//double check that typign into last column moves to the next //double check that typign into last column moves to the next
//If moving to an offscreen address, increment scrollbar //If automove to next address goes off screen, advance vscroll by 1 so it is still at bottom, not top
//If clicking the highlighted value, make it unhighlight
//Multi-highlight
public VScrollBar vScrollBar1; public VScrollBar vScrollBar1;
public Label info; public Label info;
@ -111,7 +113,6 @@ namespace BizHawk.MultiClient
} }
} }
//protected unsafe override void OnPaint(PaintEventArgs e)
private void Display(Graphics g) private void Display(Graphics g)
{ {
unchecked unchecked