diff --git a/BizHawk.MultiClient/tools/HexEditor.Designer.cs b/BizHawk.MultiClient/tools/HexEditor.Designer.cs index a007f883a0..4054302b5f 100644 --- a/BizHawk.MultiClient/tools/HexEditor.Designer.cs +++ b/BizHawk.MultiClient/tools/HexEditor.Designer.cs @@ -52,6 +52,8 @@ this.freezeToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.addToRamWatchToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem(); this.MemoryViewer = new BizHawk.MultiClient.MemoryViewer(); + this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator(); + this.addToRamWatchToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem(); this.menuStrip1.SuspendLayout(); this.ViewerContextMenuStrip.SuspendLayout(); this.SuspendLayout(); @@ -103,7 +105,9 @@ this.memoryDomainsToolStripMenuItem, this.dataSizeToolStripMenuItem, this.enToolStripMenuItem, - this.goToAddressToolStripMenuItem}); + this.toolStripSeparator2, + this.goToAddressToolStripMenuItem, + this.addToRamWatchToolStripMenuItem1}); this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem"; this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20); this.optionsToolStripMenuItem.Text = "&Options"; @@ -112,7 +116,7 @@ // 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"; // // dataSizeToolStripMenuItem @@ -122,7 +126,7 @@ this.byteToolStripMenuItem1, this.byteToolStripMenuItem2}); 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"; // // byteToolStripMenuItem @@ -149,7 +153,7 @@ // 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.Click += new System.EventHandler(this.enToolStripMenuItem_Click); // @@ -157,8 +161,8 @@ // this.goToAddressToolStripMenuItem.Name = "goToAddressToolStripMenuItem"; 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.Text = "Go to Address"; + this.goToAddressToolStripMenuItem.Size = new System.Drawing.Size(204, 22); + this.goToAddressToolStripMenuItem.Text = "&Go to Address..."; this.goToAddressToolStripMenuItem.Click += new System.EventHandler(this.goToAddressToolStripMenuItem_Click); // // settingsToolStripMenuItem @@ -198,7 +202,7 @@ this.freezeToolStripMenuItem, this.addToRamWatchToolStripMenuItem}); this.ViewerContextMenuStrip.Name = "ViewerContextMenuStrip"; - this.ViewerContextMenuStrip.Size = new System.Drawing.Size(176, 92); + this.ViewerContextMenuStrip.Size = new System.Drawing.Size(176, 70); // // pokeToolStripMenuItem // @@ -236,6 +240,18 @@ this.MemoryViewer.Paint += new System.Windows.Forms.PaintEventHandler(this.MemoryViewer_Paint); 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 // this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F); @@ -282,5 +298,7 @@ private System.Windows.Forms.ToolStripMenuItem pokeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem freezeToolStripMenuItem; private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem; + private System.Windows.Forms.ToolStripSeparator toolStripSeparator2; + private System.Windows.Forms.ToolStripMenuItem addToRamWatchToolStripMenuItem1; } } \ No newline at end of file diff --git a/BizHawk.MultiClient/tools/HexEditor.cs b/BizHawk.MultiClient/tools/HexEditor.cs index 98c5157a56..529cfbeb1b 100644 --- a/BizHawk.MultiClient/tools/HexEditor.cs +++ b/BizHawk.MultiClient/tools/HexEditor.cs @@ -16,10 +16,7 @@ namespace BizHawk.MultiClient //Find text box - autohighlights matches, and shows total matches //Users can customize background, & text colors //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 - //Typing legit hex values = memory poke //Show num addresses in group box title (show "address" if 1 address) //big font for currently mouse over'ed value? @@ -106,6 +103,11 @@ namespace BizHawk.MultiClient byteToolStripMenuItem2.Checked = true; break; } + + if (MemoryViewer.GetHighlightedAddress() >= 0) + addToRamWatchToolStripMenuItem1.Enabled = true; + else + addToRamWatchToolStripMenuItem1.Enabled = false; } private void SetMemoryDomain(int pos) @@ -278,6 +280,11 @@ namespace BizHawk.MultiClient AddToRamWatch(); } + private void addToRamWatchToolStripMenuItem1_Click(object sender, EventArgs e) + { + AddToRamWatch(); + } + } } diff --git a/BizHawk.MultiClient/tools/MemoryViewer.cs b/BizHawk.MultiClient/tools/MemoryViewer.cs index 9bd17ce48b..0b8ddca7cb 100644 --- a/BizHawk.MultiClient/tools/MemoryViewer.cs +++ b/BizHawk.MultiClient/tools/MemoryViewer.cs @@ -12,9 +12,11 @@ namespace BizHawk.MultiClient { //TODO: highlighting and address determining for 2 & 4 byte viewing //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 - //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 Label info; @@ -111,7 +113,6 @@ namespace BizHawk.MultiClient } } - //protected unsafe override void OnPaint(PaintEventArgs e) private void Display(Graphics g) { unchecked