Hex Editor - implement a find box with Find Prev/Next functions. Also make find highlight all values in the search string when finding a vlue, add Find Next/Prev menu items with hotkeys.
This commit is contained in:
parent
5b356c5157
commit
12e674973d
|
@ -319,6 +319,12 @@
|
||||||
<Compile Include="tools\HexColor.Designer.cs">
|
<Compile Include="tools\HexColor.Designer.cs">
|
||||||
<DependentUpon>HexColor.cs</DependentUpon>
|
<DependentUpon>HexColor.cs</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Compile Include="tools\HexFind.cs">
|
||||||
|
<SubType>Form</SubType>
|
||||||
|
</Compile>
|
||||||
|
<Compile Include="tools\HexFind.Designer.cs">
|
||||||
|
<DependentUpon>HexFind.cs</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="tools\WatchCommon.cs" />
|
<Compile Include="tools\WatchCommon.cs" />
|
||||||
<Compile Include="VideoWriterChooserForm.cs">
|
<Compile Include="VideoWriterChooserForm.cs">
|
||||||
<SubType>Form</SubType>
|
<SubType>Form</SubType>
|
||||||
|
@ -365,6 +371,9 @@
|
||||||
<EmbeddedResource Include="tools\HexColor.resx">
|
<EmbeddedResource Include="tools\HexColor.resx">
|
||||||
<DependentUpon>HexColor.cs</DependentUpon>
|
<DependentUpon>HexColor.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
<EmbeddedResource Include="tools\HexFind.resx">
|
||||||
|
<DependentUpon>HexFind.cs</DependentUpon>
|
||||||
|
</EmbeddedResource>
|
||||||
<EmbeddedResource Include="tools\LuaFunctionList.resx">
|
<EmbeddedResource Include="tools\LuaFunctionList.resx">
|
||||||
<DependentUpon>LuaFunctionList.cs</DependentUpon>
|
<DependentUpon>LuaFunctionList.cs</DependentUpon>
|
||||||
</EmbeddedResource>
|
</EmbeddedResource>
|
||||||
|
|
|
@ -81,6 +81,8 @@
|
||||||
this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
|
this.vScrollBar1 = new System.Windows.Forms.VScrollBar();
|
||||||
this.AddressesLabel = new System.Windows.Forms.Label();
|
this.AddressesLabel = new System.Windows.Forms.Label();
|
||||||
this.Header = new System.Windows.Forms.Label();
|
this.Header = new System.Windows.Forms.Label();
|
||||||
|
this.findNextToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.findPrevToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.menuStrip1.SuspendLayout();
|
this.menuStrip1.SuspendLayout();
|
||||||
this.ViewerContextMenuStrip.SuspendLayout();
|
this.ViewerContextMenuStrip.SuspendLayout();
|
||||||
this.MemoryViewerBox.SuspendLayout();
|
this.MemoryViewerBox.SuspendLayout();
|
||||||
|
@ -107,7 +109,7 @@
|
||||||
this.toolStripSeparator1,
|
this.toolStripSeparator1,
|
||||||
this.exitToolStripMenuItem});
|
this.exitToolStripMenuItem});
|
||||||
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
this.fileToolStripMenuItem.Name = "fileToolStripMenuItem";
|
||||||
this.fileToolStripMenuItem.Size = new System.Drawing.Size(35, 20);
|
this.fileToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
||||||
this.fileToolStripMenuItem.Text = "&File";
|
this.fileToolStripMenuItem.Text = "&File";
|
||||||
//
|
//
|
||||||
// dumpToFileToolStripMenuItem
|
// dumpToFileToolStripMenuItem
|
||||||
|
@ -143,17 +145,20 @@
|
||||||
this.copyToolStripMenuItem,
|
this.copyToolStripMenuItem,
|
||||||
this.pasteToolStripMenuItem,
|
this.pasteToolStripMenuItem,
|
||||||
this.toolStripSeparator6,
|
this.toolStripSeparator6,
|
||||||
this.findToolStripMenuItem1});
|
this.findToolStripMenuItem1,
|
||||||
|
this.findNextToolStripMenuItem,
|
||||||
|
this.findPrevToolStripMenuItem});
|
||||||
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
|
this.editToolStripMenuItem.Name = "editToolStripMenuItem";
|
||||||
this.editToolStripMenuItem.Size = new System.Drawing.Size(37, 20);
|
this.editToolStripMenuItem.Size = new System.Drawing.Size(39, 20);
|
||||||
this.editToolStripMenuItem.Text = "&Edit";
|
this.editToolStripMenuItem.Text = "&Edit";
|
||||||
|
this.editToolStripMenuItem.DropDownOpened += new System.EventHandler(this.editToolStripMenuItem_DropDownOpened);
|
||||||
//
|
//
|
||||||
// copyToolStripMenuItem
|
// copyToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.copyToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Duplicate;
|
this.copyToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Duplicate;
|
||||||
this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
|
this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
|
||||||
this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
|
this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
|
||||||
this.copyToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
|
this.copyToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||||
this.copyToolStripMenuItem.Text = "&Copy";
|
this.copyToolStripMenuItem.Text = "&Copy";
|
||||||
this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
|
this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
@ -162,20 +167,20 @@
|
||||||
this.pasteToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Paste;
|
this.pasteToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Paste;
|
||||||
this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem";
|
this.pasteToolStripMenuItem.Name = "pasteToolStripMenuItem";
|
||||||
this.pasteToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
|
this.pasteToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.V)));
|
||||||
this.pasteToolStripMenuItem.Size = new System.Drawing.Size(144, 22);
|
this.pasteToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||||
this.pasteToolStripMenuItem.Text = "&Paste";
|
this.pasteToolStripMenuItem.Text = "&Paste";
|
||||||
this.pasteToolStripMenuItem.Click += new System.EventHandler(this.pasteToolStripMenuItem_Click);
|
this.pasteToolStripMenuItem.Click += new System.EventHandler(this.pasteToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator6
|
// toolStripSeparator6
|
||||||
//
|
//
|
||||||
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
this.toolStripSeparator6.Name = "toolStripSeparator6";
|
||||||
this.toolStripSeparator6.Size = new System.Drawing.Size(141, 6);
|
this.toolStripSeparator6.Size = new System.Drawing.Size(149, 6);
|
||||||
//
|
//
|
||||||
// findToolStripMenuItem1
|
// findToolStripMenuItem1
|
||||||
//
|
//
|
||||||
this.findToolStripMenuItem1.Name = "findToolStripMenuItem1";
|
this.findToolStripMenuItem1.Name = "findToolStripMenuItem1";
|
||||||
this.findToolStripMenuItem1.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
|
this.findToolStripMenuItem1.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
|
||||||
this.findToolStripMenuItem1.Size = new System.Drawing.Size(144, 22);
|
this.findToolStripMenuItem1.Size = new System.Drawing.Size(152, 22);
|
||||||
this.findToolStripMenuItem1.Text = "&Find...";
|
this.findToolStripMenuItem1.Text = "&Find...";
|
||||||
this.findToolStripMenuItem1.Click += new System.EventHandler(this.findToolStripMenuItem1_Click);
|
this.findToolStripMenuItem1.Click += new System.EventHandler(this.findToolStripMenuItem1_Click);
|
||||||
//
|
//
|
||||||
|
@ -191,14 +196,14 @@
|
||||||
this.freezeAddressToolStripMenuItem,
|
this.freezeAddressToolStripMenuItem,
|
||||||
this.unfreezeAllToolStripMenuItem});
|
this.unfreezeAllToolStripMenuItem});
|
||||||
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
this.optionsToolStripMenuItem.Name = "optionsToolStripMenuItem";
|
||||||
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(56, 20);
|
this.optionsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
||||||
this.optionsToolStripMenuItem.Text = "&Options";
|
this.optionsToolStripMenuItem.Text = "&Options";
|
||||||
this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened);
|
this.optionsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.optionsToolStripMenuItem_DropDownOpened);
|
||||||
//
|
//
|
||||||
// memoryDomainsToolStripMenuItem
|
// memoryDomainsToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.memoryDomainsToolStripMenuItem.Name = "memoryDomainsToolStripMenuItem";
|
this.memoryDomainsToolStripMenuItem.Name = "memoryDomainsToolStripMenuItem";
|
||||||
this.memoryDomainsToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
|
this.memoryDomainsToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
|
||||||
this.memoryDomainsToolStripMenuItem.Text = "&Memory Domains";
|
this.memoryDomainsToolStripMenuItem.Text = "&Memory Domains";
|
||||||
this.memoryDomainsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.memoryDomainsToolStripMenuItem_DropDownOpened);
|
this.memoryDomainsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.memoryDomainsToolStripMenuItem_DropDownOpened);
|
||||||
//
|
//
|
||||||
|
@ -209,47 +214,47 @@
|
||||||
this.byteToolStripMenuItem1,
|
this.byteToolStripMenuItem1,
|
||||||
this.byteToolStripMenuItem2});
|
this.byteToolStripMenuItem2});
|
||||||
this.dataSizeToolStripMenuItem.Name = "dataSizeToolStripMenuItem";
|
this.dataSizeToolStripMenuItem.Name = "dataSizeToolStripMenuItem";
|
||||||
this.dataSizeToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
|
this.dataSizeToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
|
||||||
this.dataSizeToolStripMenuItem.Text = "Data Size";
|
this.dataSizeToolStripMenuItem.Text = "Data Size";
|
||||||
//
|
//
|
||||||
// byteToolStripMenuItem
|
// byteToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.byteToolStripMenuItem.Name = "byteToolStripMenuItem";
|
this.byteToolStripMenuItem.Name = "byteToolStripMenuItem";
|
||||||
this.byteToolStripMenuItem.Size = new System.Drawing.Size(105, 22);
|
this.byteToolStripMenuItem.Size = new System.Drawing.Size(106, 22);
|
||||||
this.byteToolStripMenuItem.Text = "1 Byte";
|
this.byteToolStripMenuItem.Text = "1 Byte";
|
||||||
this.byteToolStripMenuItem.Click += new System.EventHandler(this.byteToolStripMenuItem_Click);
|
this.byteToolStripMenuItem.Click += new System.EventHandler(this.byteToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// byteToolStripMenuItem1
|
// byteToolStripMenuItem1
|
||||||
//
|
//
|
||||||
this.byteToolStripMenuItem1.Name = "byteToolStripMenuItem1";
|
this.byteToolStripMenuItem1.Name = "byteToolStripMenuItem1";
|
||||||
this.byteToolStripMenuItem1.Size = new System.Drawing.Size(105, 22);
|
this.byteToolStripMenuItem1.Size = new System.Drawing.Size(106, 22);
|
||||||
this.byteToolStripMenuItem1.Text = "2 Byte";
|
this.byteToolStripMenuItem1.Text = "2 Byte";
|
||||||
this.byteToolStripMenuItem1.Click += new System.EventHandler(this.byteToolStripMenuItem1_Click);
|
this.byteToolStripMenuItem1.Click += new System.EventHandler(this.byteToolStripMenuItem1_Click);
|
||||||
//
|
//
|
||||||
// byteToolStripMenuItem2
|
// byteToolStripMenuItem2
|
||||||
//
|
//
|
||||||
this.byteToolStripMenuItem2.Name = "byteToolStripMenuItem2";
|
this.byteToolStripMenuItem2.Name = "byteToolStripMenuItem2";
|
||||||
this.byteToolStripMenuItem2.Size = new System.Drawing.Size(105, 22);
|
this.byteToolStripMenuItem2.Size = new System.Drawing.Size(106, 22);
|
||||||
this.byteToolStripMenuItem2.Text = "4 Byte";
|
this.byteToolStripMenuItem2.Text = "4 Byte";
|
||||||
this.byteToolStripMenuItem2.Click += new System.EventHandler(this.byteToolStripMenuItem2_Click);
|
this.byteToolStripMenuItem2.Click += new System.EventHandler(this.byteToolStripMenuItem2_Click);
|
||||||
//
|
//
|
||||||
// enToolStripMenuItem
|
// enToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.enToolStripMenuItem.Name = "enToolStripMenuItem";
|
this.enToolStripMenuItem.Name = "enToolStripMenuItem";
|
||||||
this.enToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
|
this.enToolStripMenuItem.Size = new System.Drawing.Size(219, 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);
|
||||||
//
|
//
|
||||||
// toolStripSeparator2
|
// toolStripSeparator2
|
||||||
//
|
//
|
||||||
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
this.toolStripSeparator2.Name = "toolStripSeparator2";
|
||||||
this.toolStripSeparator2.Size = new System.Drawing.Size(203, 6);
|
this.toolStripSeparator2.Size = new System.Drawing.Size(216, 6);
|
||||||
//
|
//
|
||||||
// goToAddressToolStripMenuItem
|
// goToAddressToolStripMenuItem
|
||||||
//
|
//
|
||||||
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(206, 22);
|
this.goToAddressToolStripMenuItem.Size = new System.Drawing.Size(219, 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);
|
||||||
//
|
//
|
||||||
|
@ -258,7 +263,7 @@
|
||||||
this.addToRamWatchToolStripMenuItem1.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS;
|
this.addToRamWatchToolStripMenuItem1.Image = global::BizHawk.MultiClient.Properties.Resources.FindHS;
|
||||||
this.addToRamWatchToolStripMenuItem1.Name = "addToRamWatchToolStripMenuItem1";
|
this.addToRamWatchToolStripMenuItem1.Name = "addToRamWatchToolStripMenuItem1";
|
||||||
this.addToRamWatchToolStripMenuItem1.ShortcutKeyDisplayString = "Ctrl+W";
|
this.addToRamWatchToolStripMenuItem1.ShortcutKeyDisplayString = "Ctrl+W";
|
||||||
this.addToRamWatchToolStripMenuItem1.Size = new System.Drawing.Size(206, 22);
|
this.addToRamWatchToolStripMenuItem1.Size = new System.Drawing.Size(219, 22);
|
||||||
this.addToRamWatchToolStripMenuItem1.Text = "Add to Ram Watch";
|
this.addToRamWatchToolStripMenuItem1.Text = "Add to Ram Watch";
|
||||||
this.addToRamWatchToolStripMenuItem1.Click += new System.EventHandler(this.addToRamWatchToolStripMenuItem1_Click);
|
this.addToRamWatchToolStripMenuItem1.Click += new System.EventHandler(this.addToRamWatchToolStripMenuItem1_Click);
|
||||||
//
|
//
|
||||||
|
@ -267,7 +272,7 @@
|
||||||
this.freezeAddressToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze;
|
this.freezeAddressToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Freeze;
|
||||||
this.freezeAddressToolStripMenuItem.Name = "freezeAddressToolStripMenuItem";
|
this.freezeAddressToolStripMenuItem.Name = "freezeAddressToolStripMenuItem";
|
||||||
this.freezeAddressToolStripMenuItem.ShortcutKeyDisplayString = "Space";
|
this.freezeAddressToolStripMenuItem.ShortcutKeyDisplayString = "Space";
|
||||||
this.freezeAddressToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
|
this.freezeAddressToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
|
||||||
this.freezeAddressToolStripMenuItem.Text = "&Freeze Address";
|
this.freezeAddressToolStripMenuItem.Text = "&Freeze Address";
|
||||||
this.freezeAddressToolStripMenuItem.Click += new System.EventHandler(this.freezeAddressToolStripMenuItem_Click);
|
this.freezeAddressToolStripMenuItem.Click += new System.EventHandler(this.freezeAddressToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
@ -276,7 +281,7 @@
|
||||||
this.unfreezeAllToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Unfreeze;
|
this.unfreezeAllToolStripMenuItem.Image = global::BizHawk.MultiClient.Properties.Resources.Unfreeze;
|
||||||
this.unfreezeAllToolStripMenuItem.Name = "unfreezeAllToolStripMenuItem";
|
this.unfreezeAllToolStripMenuItem.Name = "unfreezeAllToolStripMenuItem";
|
||||||
this.unfreezeAllToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.Delete)));
|
this.unfreezeAllToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Shift | System.Windows.Forms.Keys.Delete)));
|
||||||
this.unfreezeAllToolStripMenuItem.Size = new System.Drawing.Size(206, 22);
|
this.unfreezeAllToolStripMenuItem.Size = new System.Drawing.Size(219, 22);
|
||||||
this.unfreezeAllToolStripMenuItem.Text = "Unfreeze All";
|
this.unfreezeAllToolStripMenuItem.Text = "Unfreeze All";
|
||||||
this.unfreezeAllToolStripMenuItem.Click += new System.EventHandler(this.unfreezeAllToolStripMenuItem_Click);
|
this.unfreezeAllToolStripMenuItem.Click += new System.EventHandler(this.unfreezeAllToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
@ -289,14 +294,14 @@
|
||||||
this.toolStripSeparator3,
|
this.toolStripSeparator3,
|
||||||
this.restoreWindowSizeToolStripMenuItem});
|
this.restoreWindowSizeToolStripMenuItem});
|
||||||
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
this.settingsToolStripMenuItem.Name = "settingsToolStripMenuItem";
|
||||||
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(58, 20);
|
this.settingsToolStripMenuItem.Size = new System.Drawing.Size(61, 20);
|
||||||
this.settingsToolStripMenuItem.Text = "&Settings";
|
this.settingsToolStripMenuItem.Text = "&Settings";
|
||||||
this.settingsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.settingsToolStripMenuItem_DropDownOpened);
|
this.settingsToolStripMenuItem.DropDownOpened += new System.EventHandler(this.settingsToolStripMenuItem_DropDownOpened);
|
||||||
//
|
//
|
||||||
// autoloadToolStripMenuItem
|
// autoloadToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem";
|
this.autoloadToolStripMenuItem.Name = "autoloadToolStripMenuItem";
|
||||||
this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(183, 22);
|
this.autoloadToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||||
this.autoloadToolStripMenuItem.Text = "Auto-load";
|
this.autoloadToolStripMenuItem.Text = "Auto-load";
|
||||||
this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click);
|
this.autoloadToolStripMenuItem.Click += new System.EventHandler(this.autoloadToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
@ -307,44 +312,44 @@
|
||||||
this.toolStripSeparator8,
|
this.toolStripSeparator8,
|
||||||
this.resetToDefaultToolStripMenuItem1});
|
this.resetToDefaultToolStripMenuItem1});
|
||||||
this.customColorsToolStripMenuItem.Name = "customColorsToolStripMenuItem";
|
this.customColorsToolStripMenuItem.Name = "customColorsToolStripMenuItem";
|
||||||
this.customColorsToolStripMenuItem.Size = new System.Drawing.Size(183, 22);
|
this.customColorsToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||||
this.customColorsToolStripMenuItem.Text = "Custom Colors";
|
this.customColorsToolStripMenuItem.Text = "Custom Colors";
|
||||||
//
|
//
|
||||||
// setColorsToolStripMenuItem1
|
// setColorsToolStripMenuItem1
|
||||||
//
|
//
|
||||||
this.setColorsToolStripMenuItem1.Name = "setColorsToolStripMenuItem1";
|
this.setColorsToolStripMenuItem1.Name = "setColorsToolStripMenuItem1";
|
||||||
this.setColorsToolStripMenuItem1.Size = new System.Drawing.Size(153, 22);
|
this.setColorsToolStripMenuItem1.Size = new System.Drawing.Size(157, 22);
|
||||||
this.setColorsToolStripMenuItem1.Text = "Set Colors";
|
this.setColorsToolStripMenuItem1.Text = "Set Colors";
|
||||||
this.setColorsToolStripMenuItem1.Click += new System.EventHandler(this.setColorsToolStripMenuItem1_Click);
|
this.setColorsToolStripMenuItem1.Click += new System.EventHandler(this.setColorsToolStripMenuItem1_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator8
|
// toolStripSeparator8
|
||||||
//
|
//
|
||||||
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
this.toolStripSeparator8.Name = "toolStripSeparator8";
|
||||||
this.toolStripSeparator8.Size = new System.Drawing.Size(150, 6);
|
this.toolStripSeparator8.Size = new System.Drawing.Size(154, 6);
|
||||||
//
|
//
|
||||||
// resetToDefaultToolStripMenuItem1
|
// resetToDefaultToolStripMenuItem1
|
||||||
//
|
//
|
||||||
this.resetToDefaultToolStripMenuItem1.Name = "resetToDefaultToolStripMenuItem1";
|
this.resetToDefaultToolStripMenuItem1.Name = "resetToDefaultToolStripMenuItem1";
|
||||||
this.resetToDefaultToolStripMenuItem1.Size = new System.Drawing.Size(153, 22);
|
this.resetToDefaultToolStripMenuItem1.Size = new System.Drawing.Size(157, 22);
|
||||||
this.resetToDefaultToolStripMenuItem1.Text = "Reset to Default";
|
this.resetToDefaultToolStripMenuItem1.Text = "Reset to Default";
|
||||||
this.resetToDefaultToolStripMenuItem1.Click += new System.EventHandler(this.resetToDefaultToolStripMenuItem1_Click);
|
this.resetToDefaultToolStripMenuItem1.Click += new System.EventHandler(this.resetToDefaultToolStripMenuItem1_Click);
|
||||||
//
|
//
|
||||||
// saveWindowsSettingsToolStripMenuItem
|
// saveWindowsSettingsToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.saveWindowsSettingsToolStripMenuItem.Name = "saveWindowsSettingsToolStripMenuItem";
|
this.saveWindowsSettingsToolStripMenuItem.Name = "saveWindowsSettingsToolStripMenuItem";
|
||||||
this.saveWindowsSettingsToolStripMenuItem.Size = new System.Drawing.Size(183, 22);
|
this.saveWindowsSettingsToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||||
this.saveWindowsSettingsToolStripMenuItem.Text = "Save windows settings";
|
this.saveWindowsSettingsToolStripMenuItem.Text = "Save windows settings";
|
||||||
this.saveWindowsSettingsToolStripMenuItem.Click += new System.EventHandler(this.saveWindowsSettingsToolStripMenuItem_Click);
|
this.saveWindowsSettingsToolStripMenuItem.Click += new System.EventHandler(this.saveWindowsSettingsToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
// toolStripSeparator3
|
// toolStripSeparator3
|
||||||
//
|
//
|
||||||
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
this.toolStripSeparator3.Name = "toolStripSeparator3";
|
||||||
this.toolStripSeparator3.Size = new System.Drawing.Size(180, 6);
|
this.toolStripSeparator3.Size = new System.Drawing.Size(189, 6);
|
||||||
//
|
//
|
||||||
// restoreWindowSizeToolStripMenuItem
|
// restoreWindowSizeToolStripMenuItem
|
||||||
//
|
//
|
||||||
this.restoreWindowSizeToolStripMenuItem.Name = "restoreWindowSizeToolStripMenuItem";
|
this.restoreWindowSizeToolStripMenuItem.Name = "restoreWindowSizeToolStripMenuItem";
|
||||||
this.restoreWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(183, 22);
|
this.restoreWindowSizeToolStripMenuItem.Size = new System.Drawing.Size(192, 22);
|
||||||
this.restoreWindowSizeToolStripMenuItem.Text = "&Restore Window Size";
|
this.restoreWindowSizeToolStripMenuItem.Text = "&Restore Window Size";
|
||||||
this.restoreWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowSizeToolStripMenuItem_Click);
|
this.restoreWindowSizeToolStripMenuItem.Click += new System.EventHandler(this.restoreWindowSizeToolStripMenuItem_Click);
|
||||||
//
|
//
|
||||||
|
@ -525,6 +530,22 @@
|
||||||
this.Header.TabIndex = 2;
|
this.Header.TabIndex = 2;
|
||||||
this.Header.Text = "label1";
|
this.Header.Text = "label1";
|
||||||
//
|
//
|
||||||
|
// findNextToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.findNextToolStripMenuItem.Name = "findNextToolStripMenuItem";
|
||||||
|
this.findNextToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F3;
|
||||||
|
this.findNextToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||||
|
this.findNextToolStripMenuItem.Text = "Find Next";
|
||||||
|
this.findNextToolStripMenuItem.Click += new System.EventHandler(this.findNextToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
|
// findPrevToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.findPrevToolStripMenuItem.Name = "findPrevToolStripMenuItem";
|
||||||
|
this.findPrevToolStripMenuItem.ShortcutKeys = System.Windows.Forms.Keys.F2;
|
||||||
|
this.findPrevToolStripMenuItem.Size = new System.Drawing.Size(152, 22);
|
||||||
|
this.findPrevToolStripMenuItem.Text = "Find Prev";
|
||||||
|
this.findPrevToolStripMenuItem.Click += new System.EventHandler(this.findPrevToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// HexEditor
|
// HexEditor
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
|
@ -607,5 +628,7 @@
|
||||||
private System.Windows.Forms.Label AddressLabel;
|
private System.Windows.Forms.Label AddressLabel;
|
||||||
private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem1;
|
private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem1;
|
||||||
private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem1;
|
private System.Windows.Forms.ToolStripMenuItem pasteToolStripMenuItem1;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem findNextToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem findPrevToolStripMenuItem;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -19,6 +19,13 @@ namespace BizHawk.MultiClient
|
||||||
//Tool strip
|
//Tool strip
|
||||||
//Increment/Decrement wrapping logic for 2 and 4 byte values
|
//Increment/Decrement wrapping logic for 2 and 4 byte values
|
||||||
|
|
||||||
|
//HIghlight:
|
||||||
|
//shift + keys do secondary highlight
|
||||||
|
|
||||||
|
//changing highlighted value clears our find
|
||||||
|
//find next/prev focuses memory viewer box
|
||||||
|
//shift+click off by one descending (ascending untested) (shift click 0000 and it fails)
|
||||||
|
|
||||||
int defaultWidth;
|
int defaultWidth;
|
||||||
int defaultHeight;
|
int defaultHeight;
|
||||||
List<ToolStripMenuItem> domainMenuItems = new List<ToolStripMenuItem>();
|
List<ToolStripMenuItem> domainMenuItems = new List<ToolStripMenuItem>();
|
||||||
|
@ -43,6 +50,7 @@ namespace BizHawk.MultiClient
|
||||||
const int rowYoffset = 20;
|
const int rowYoffset = 20;
|
||||||
const int fontHeight = 14;
|
const int fontHeight = 14;
|
||||||
const int fontWidth = 7; //Width of 1 digits
|
const int fontWidth = 7; //Width of 1 digits
|
||||||
|
string FindStr = "";
|
||||||
|
|
||||||
bool loaded = false;
|
bool loaded = false;
|
||||||
|
|
||||||
|
@ -56,6 +64,8 @@ namespace BizHawk.MultiClient
|
||||||
bool BigEndian;
|
bool BigEndian;
|
||||||
int DataSize;
|
int DataSize;
|
||||||
|
|
||||||
|
HexFind HexFind1 = new HexFind();
|
||||||
|
|
||||||
public HexEditor()
|
public HexEditor()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
@ -89,6 +99,11 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
public void SaveConfigSettings()
|
public void SaveConfigSettings()
|
||||||
{
|
{
|
||||||
|
if (HexFind1.IsHandleCreated || !HexFind1.IsDisposed)
|
||||||
|
{
|
||||||
|
HexFind1.Close();
|
||||||
|
}
|
||||||
|
|
||||||
Global.Config.AutoLoadHexEditor = AutoLoad;
|
Global.Config.AutoLoadHexEditor = AutoLoad;
|
||||||
Global.Config.HexEditorSaveWindowPosition = SaveWindowPosition;
|
Global.Config.HexEditorSaveWindowPosition = SaveWindowPosition;
|
||||||
if (SaveWindowPosition)
|
if (SaveWindowPosition)
|
||||||
|
@ -1015,6 +1030,7 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
SetHighlighted(addressOver);
|
SetHighlighted(addressOver);
|
||||||
SecondaryHighlightedAddresses.Clear();
|
SecondaryHighlightedAddresses.Clear();
|
||||||
|
FindStr = "";
|
||||||
}
|
}
|
||||||
|
|
||||||
MemoryViewerBox.Refresh();
|
MemoryViewerBox.Refresh();
|
||||||
|
@ -1469,6 +1485,149 @@ namespace BizHawk.MultiClient
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void OpenFindBox()
|
||||||
|
{
|
||||||
|
|
||||||
|
FindStr = GetFindValues();
|
||||||
|
if (!HexFind1.IsHandleCreated || HexFind1.IsDisposed)
|
||||||
|
{
|
||||||
|
HexFind1 = new HexFind();
|
||||||
|
Point p = PointToScreen(AddressesLabel.Location);
|
||||||
|
HexFind1.SetLocation(p);
|
||||||
|
HexFind1.SetInitialValue(FindStr);
|
||||||
|
HexFind1.Show();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
HexFind1.SetInitialValue(FindStr);
|
||||||
|
HexFind1.Focus();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private string GetFindValues()
|
||||||
|
{
|
||||||
|
string values = "";
|
||||||
|
if (addressHighlighted > 0)
|
||||||
|
{
|
||||||
|
values += ValueString(GetHighlightedAddress());
|
||||||
|
foreach (int x in SecondaryHighlightedAddresses)
|
||||||
|
{
|
||||||
|
values += ValueString(x);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return values;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FindNext(string value)
|
||||||
|
{
|
||||||
|
int found = 0;
|
||||||
|
|
||||||
|
string search = value.Replace(" ", "").ToUpper();
|
||||||
|
if (search.Length == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int numByte = search.Length / 2;
|
||||||
|
|
||||||
|
int startByte = 0;
|
||||||
|
if (addressHighlighted == -1)
|
||||||
|
{
|
||||||
|
startByte = 0;
|
||||||
|
}
|
||||||
|
else if (addressHighlighted >= (Domain.Size - 1 - numByte))
|
||||||
|
{
|
||||||
|
startByte = 0;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
startByte = addressHighlighted + DataSize;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = startByte; i < (Domain.Size - numByte); i++)
|
||||||
|
{
|
||||||
|
StringBuilder ramblock = new StringBuilder();
|
||||||
|
for (int j = 0; j < numByte; j++)
|
||||||
|
{
|
||||||
|
ramblock.Append(String.Format("{0:X2}", (int)Domain.PeekByte(i + j)));
|
||||||
|
}
|
||||||
|
string block = ramblock.ToString().ToUpper();
|
||||||
|
if (search == block)
|
||||||
|
{
|
||||||
|
found = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found > 0)
|
||||||
|
{
|
||||||
|
HighlightSecondaries(search, found);
|
||||||
|
GoToAddress(found);
|
||||||
|
FindStr = search;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
public void FindPrev(string value)
|
||||||
|
{
|
||||||
|
int found = 0;
|
||||||
|
|
||||||
|
string search = value.Replace(" ", "").ToUpper();
|
||||||
|
if (search.Length == 0)
|
||||||
|
return;
|
||||||
|
|
||||||
|
int numByte = search.Length / 2;
|
||||||
|
|
||||||
|
int startByte = 0;
|
||||||
|
if (addressHighlighted == -1)
|
||||||
|
{
|
||||||
|
startByte = Domain.Size - DataSize;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
startByte = addressHighlighted - 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
for (int i = startByte; i >= 0; i--)
|
||||||
|
{
|
||||||
|
StringBuilder ramblock = new StringBuilder();
|
||||||
|
for (int j = 0; j < numByte; j++)
|
||||||
|
{
|
||||||
|
ramblock.Append(String.Format("{0:X2}", (int)Domain.PeekByte(i + j)));
|
||||||
|
}
|
||||||
|
string block = ramblock.ToString().ToUpper();
|
||||||
|
if (search == block)
|
||||||
|
{
|
||||||
|
found = i;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
if (found > 0)
|
||||||
|
{
|
||||||
|
HighlightSecondaries(search, found);
|
||||||
|
GoToAddress(found);
|
||||||
|
FindStr = search;
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void HighlightSecondaries(string value, int found)
|
||||||
|
{
|
||||||
|
//This function assumes that the primary highlighted value has been set and sets the remaining characters in this string
|
||||||
|
SecondaryHighlightedAddresses.Clear();
|
||||||
|
|
||||||
|
int addrLength = DataSize * 2;
|
||||||
|
if (value.Length <= addrLength)
|
||||||
|
{
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
int numToHighlight = ((value.Length / addrLength)) - 1;
|
||||||
|
|
||||||
|
for (int i = 0; i < numToHighlight; i++)
|
||||||
|
{
|
||||||
|
SecondaryHighlightedAddresses.Add(found + 1 + i);
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
private void Find()
|
private void Find()
|
||||||
{
|
{
|
||||||
InputPrompt prompt = new InputPrompt();
|
InputPrompt prompt = new InputPrompt();
|
||||||
|
@ -1588,7 +1747,8 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private void findToolStripMenuItem1_Click(object sender, EventArgs e)
|
private void findToolStripMenuItem1_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
Find();
|
OpenFindBox();
|
||||||
|
//Find();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void saveAsBinaryToolStripMenuItem_Click(object sender, EventArgs e)
|
private void saveAsBinaryToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
@ -1634,5 +1794,29 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
Paste();
|
Paste();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void findNextToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
FindNext(FindStr);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void findPrevToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
FindPrev(FindStr);
|
||||||
|
}
|
||||||
|
|
||||||
|
private void editToolStripMenuItem_DropDownOpened(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
if (String.IsNullOrWhiteSpace(FindStr))
|
||||||
|
{
|
||||||
|
findNextToolStripMenuItem.Enabled = false;
|
||||||
|
findPrevToolStripMenuItem.Enabled = false;
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
findNextToolStripMenuItem.Enabled = true;
|
||||||
|
findPrevToolStripMenuItem.Enabled = true;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -338,7 +338,6 @@ namespace BizHawk.MultiClient
|
||||||
|
|
||||||
private Point GetPromptPoint()
|
private Point GetPromptPoint()
|
||||||
{
|
{
|
||||||
|
|
||||||
Point p = new Point(WatchListView.Location.X, WatchListView.Location.Y);
|
Point p = new Point(WatchListView.Location.X, WatchListView.Location.Y);
|
||||||
Point q = new Point();
|
Point q = new Point();
|
||||||
q = PointToScreen(p);
|
q = PointToScreen(p);
|
||||||
|
|
Loading…
Reference in New Issue