RAMWatch: Enhancements (#1315)

fix #1257
This commit is contained in:
Asnivor 2018-09-14 06:28:38 +01:00 committed by feos
parent afc5d516b8
commit 92f187fce1
10 changed files with 1179 additions and 861 deletions

View File

@ -21,6 +21,14 @@ namespace BizHawk.Client.Common
/// </summary>
public static SeparatorWatch Instance => new SeparatorWatch();
public static SeparatorWatch NewSeparatorWatch(string description)
{
return new SeparatorWatch
{
Notes = description
};
}
/// <summary>
/// Get the appropriate DisplayType
/// </summary>
@ -48,7 +56,7 @@ namespace BizHawk.Client.Common
/// <summary>
/// Ignore that stuff
/// </summary>
public override string ValueString => "";
public override string ValueString => Notes; //"";
/// <summary>
/// Ignore that stuff
@ -62,7 +70,20 @@ namespace BizHawk.Client.Common
/// <returns>A well formatted string representation</returns>
public override string ToDisplayString()
{
if (Notes == null || Notes == "")
return "----";
else
return Notes;
}
/// <summary>
/// Transforms the current instance into a string
/// </summary>
/// <returns>A <see cref="string"/> representation of the current <see cref="Watch"/></returns>
public override string ToString()
{
return $"0\tS\t_\t1\t\t{Notes.Trim('\r', '\n')}";
//return $"{(Domain == null && Address == 0 ? "0" : Address.ToHexString((Domain?.Size ?? 0xFF - 1).NumHexDigits()))}\t{SizeAsChar}\t{TypeAsChar}\t{Convert.ToInt32(BigEndian)}\t{Domain?.Name}\t{Notes.Trim('\r', '\n')}";
}
/// <summary>
@ -95,6 +116,8 @@ namespace BizHawk.Client.Common
/// </summary>
public override void Update()
{
//AddressString = (Notes == null || Notes == "") ? "" : Notes;
}
}
}

View File

@ -142,7 +142,7 @@ namespace BizHawk.Client.Common
{
default:
case WatchSize.Separator:
return SeparatorWatch.Instance;
return SeparatorWatch.NewSeparatorWatch(note);
case WatchSize.Byte:
return new ByteWatch(domain, address, type, bigEndian, note, (byte)value, (byte)prev, changeCount);
case WatchSize.Word:

View File

@ -1840,6 +1840,9 @@
<None Include="config\ControllerImages\GENController.png" />
</ItemGroup>
<ItemGroup>
<None Include="Resources\MoveTop.png" />
<None Include="Resources\MoveBottom.png" />
<None Include="Resources\MoveTop.bmp" />
<None Include="Resources\ZXSpectrumKeyboard.bmp" />
<None Include="images\WSW.png" />
<None Include="images\WNW.png" />

View File

@ -900,6 +900,16 @@ namespace BizHawk.Client.EmuHawk.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap MoveBottom {
get {
object obj = ResourceManager.GetObject("MoveBottom", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
@ -930,6 +940,16 @@ namespace BizHawk.Client.EmuHawk.Properties {
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>
internal static System.Drawing.Bitmap MoveTop {
get {
object obj = ResourceManager.GetObject("MoveTop", resourceCulture);
return ((System.Drawing.Bitmap)(obj));
}
}
/// <summary>
/// Looks up a localized resource of type System.Drawing.Bitmap.
/// </summary>

View File

@ -1560,4 +1560,10 @@
<data name="ZXSpectrumKeyboards" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\config\ControllerImages\ZXSpectrumKeyboards.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MoveBottom" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MoveBottom.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
<data name="MoveTop" type="System.Resources.ResXFileRef, System.Windows.Forms">
<value>..\Resources\MoveTop.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a</value>
</data>
</root>

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

View File

@ -47,6 +47,8 @@
this.InsertSeperatorContextMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MoveUpContextMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MoveDownContextMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MoveTopContextMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MoveBottomContextMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.statusStrip1 = new StatusStripEx();
this.ErrorIconButton = new System.Windows.Forms.ToolStripButton();
this.MessageLabel = new System.Windows.Forms.ToolStripStatusLabel();
@ -94,6 +96,8 @@
this.toolStripSeparator3 = new System.Windows.Forms.ToolStripSeparator();
this.MoveUpMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MoveDownMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MoveTopMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.MoveBottomMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.SelectAllMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.toolStripSeparator2 = new System.Windows.Forms.ToolStripSeparator();
this.PauseMenuItem = new System.Windows.Forms.ToolStripMenuItem();
@ -149,16 +153,18 @@
this.Separator6,
this.InsertSeperatorContextMenuItem,
this.MoveUpContextMenuItem,
this.MoveDownContextMenuItem});
this.MoveDownContextMenuItem,
this.MoveTopContextMenuItem,
this.MoveBottomContextMenuItem});
this.ListViewContextMenu.Name = "contextMenuStrip1";
this.ListViewContextMenu.Size = new System.Drawing.Size(204, 302);
this.ListViewContextMenu.Size = new System.Drawing.Size(245, 346);
this.ListViewContextMenu.Opening += new System.ComponentModel.CancelEventHandler(this.ListViewContextMenu_Opening);
//
// newToolStripMenuItem
//
this.newToolStripMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.addWatch;
this.newToolStripMenuItem.Name = "newToolStripMenuItem";
this.newToolStripMenuItem.Size = new System.Drawing.Size(203, 22);
this.newToolStripMenuItem.Size = new System.Drawing.Size(244, 22);
this.newToolStripMenuItem.Text = "&New Watch";
this.newToolStripMenuItem.Click += new System.EventHandler(this.NewWatchMenuItem_Click);
//
@ -167,7 +173,7 @@
this.EditContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.CutHS;
this.EditContextMenuItem.Name = "EditContextMenuItem";
this.EditContextMenuItem.ShortcutKeyDisplayString = "Ctrl+E";
this.EditContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.EditContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.EditContextMenuItem.Text = "&Edit";
this.EditContextMenuItem.Click += new System.EventHandler(this.EditWatchMenuItem_Click);
//
@ -176,7 +182,7 @@
this.RemoveContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Delete;
this.RemoveContextMenuItem.Name = "RemoveContextMenuItem";
this.RemoveContextMenuItem.ShortcutKeyDisplayString = "Ctrl+R";
this.RemoveContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.RemoveContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.RemoveContextMenuItem.Text = "&Remove";
this.RemoveContextMenuItem.Click += new System.EventHandler(this.RemoveWatchMenuItem_Click);
//
@ -185,7 +191,7 @@
this.DuplicateContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Duplicate;
this.DuplicateContextMenuItem.Name = "DuplicateContextMenuItem";
this.DuplicateContextMenuItem.ShortcutKeyDisplayString = "Ctrl+D";
this.DuplicateContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.DuplicateContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.DuplicateContextMenuItem.Text = "&Duplicate";
this.DuplicateContextMenuItem.Click += new System.EventHandler(this.DuplicateWatchMenuItem_Click);
//
@ -194,7 +200,7 @@
this.PokeContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.poke;
this.PokeContextMenuItem.Name = "PokeContextMenuItem";
this.PokeContextMenuItem.ShortcutKeyDisplayString = "Ctrl+P";
this.PokeContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.PokeContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.PokeContextMenuItem.Text = "&Poke";
this.PokeContextMenuItem.Click += new System.EventHandler(this.PokeAddressMenuItem_Click);
//
@ -203,7 +209,7 @@
this.FreezeContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Freeze;
this.FreezeContextMenuItem.Name = "FreezeContextMenuItem";
this.FreezeContextMenuItem.ShortcutKeyDisplayString = "Ctrl+F";
this.FreezeContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.FreezeContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.FreezeContextMenuItem.Text = "&Freeze";
this.FreezeContextMenuItem.Click += new System.EventHandler(this.FreezeAddressMenuItem_Click);
//
@ -211,47 +217,47 @@
//
this.UnfreezeAllContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Unfreeze;
this.UnfreezeAllContextMenuItem.Name = "UnfreezeAllContextMenuItem";
this.UnfreezeAllContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.UnfreezeAllContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.UnfreezeAllContextMenuItem.Text = "Unfreeze &All";
this.UnfreezeAllContextMenuItem.Click += new System.EventHandler(this.UnfreezeAllContextMenuItem_Click);
//
// ViewInHexEditorContextMenuItem
//
this.ViewInHexEditorContextMenuItem.Name = "ViewInHexEditorContextMenuItem";
this.ViewInHexEditorContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.ViewInHexEditorContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.ViewInHexEditorContextMenuItem.Text = "View in Hex Editor";
this.ViewInHexEditorContextMenuItem.Click += new System.EventHandler(this.ViewInHexEditorContextMenuItem_Click);
//
// Separator4
//
this.Separator4.Name = "Separator4";
this.Separator4.Size = new System.Drawing.Size(200, 6);
this.Separator4.Size = new System.Drawing.Size(241, 6);
//
// ReadBreakpointContextMenuItem
//
this.ReadBreakpointContextMenuItem.Name = "ReadBreakpointContextMenuItem";
this.ReadBreakpointContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.ReadBreakpointContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.ReadBreakpointContextMenuItem.Text = "Set Read Breakpoint";
this.ReadBreakpointContextMenuItem.Click += new System.EventHandler(this.ReadBreakpointContextMenuItem_Click);
//
// WriteBreakpointContextMenuItem
//
this.WriteBreakpointContextMenuItem.Name = "WriteBreakpointContextMenuItem";
this.WriteBreakpointContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.WriteBreakpointContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.WriteBreakpointContextMenuItem.Text = "Set Write Breakpoint";
this.WriteBreakpointContextMenuItem.Click += new System.EventHandler(this.WriteBreakpointContextMenuItem_Click);
//
// Separator6
//
this.Separator6.Name = "Separator6";
this.Separator6.Size = new System.Drawing.Size(200, 6);
this.Separator6.Size = new System.Drawing.Size(241, 6);
//
// InsertSeperatorContextMenuItem
//
this.InsertSeperatorContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.InsertSeparator;
this.InsertSeperatorContextMenuItem.Name = "InsertSeperatorContextMenuItem";
this.InsertSeperatorContextMenuItem.ShortcutKeyDisplayString = "Ctrl+I";
this.InsertSeperatorContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.InsertSeperatorContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.InsertSeperatorContextMenuItem.Text = "&Insert Separator";
this.InsertSeperatorContextMenuItem.Click += new System.EventHandler(this.InsertSeparatorMenuItem_Click);
//
@ -260,7 +266,7 @@
this.MoveUpContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveUp;
this.MoveUpContextMenuItem.Name = "MoveUpContextMenuItem";
this.MoveUpContextMenuItem.ShortcutKeyDisplayString = "Ctrl+Up";
this.MoveUpContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.MoveUpContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.MoveUpContextMenuItem.Text = "Move &Up";
this.MoveUpContextMenuItem.Click += new System.EventHandler(this.MoveUpMenuItem_Click);
//
@ -269,10 +275,30 @@
this.MoveDownContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveDown;
this.MoveDownContextMenuItem.Name = "MoveDownContextMenuItem";
this.MoveDownContextMenuItem.ShortcutKeyDisplayString = "Ctrl+Down";
this.MoveDownContextMenuItem.Size = new System.Drawing.Size(203, 22);
this.MoveDownContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.MoveDownContextMenuItem.Text = "Move &Down";
this.MoveDownContextMenuItem.Click += new System.EventHandler(this.MoveDownMenuItem_Click);
//
// MoveTopContextMenuItem
//
this.MoveTopContextMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("MoveTopContextMenuItem.Image")));
this.MoveTopContextMenuItem.Name = "MoveTopContextMenuItem";
this.MoveTopContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.Up)));
this.MoveTopContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.MoveTopContextMenuItem.Text = "Move &Top";
this.MoveTopContextMenuItem.Click += new System.EventHandler(this.MoveTopMenuItem_Click);
//
// MoveBottomContextMenuItem
//
this.MoveBottomContextMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveBottom;
this.MoveBottomContextMenuItem.Name = "MoveBottomContextMenuItem";
this.MoveBottomContextMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.Down)));
this.MoveBottomContextMenuItem.Size = new System.Drawing.Size(244, 22);
this.MoveBottomContextMenuItem.Text = "Move &Bottom";
this.MoveBottomContextMenuItem.Click += new System.EventHandler(this.MoveBottomMenuItem_Click);
//
// statusStrip1
//
this.statusStrip1.ClickThrough = true;
@ -607,6 +633,8 @@
this.toolStripSeparator3,
this.MoveUpMenuItem,
this.MoveDownMenuItem,
this.MoveTopMenuItem,
this.MoveBottomMenuItem,
this.SelectAllMenuItem,
this.toolStripSeparator2,
this.PauseMenuItem});
@ -620,26 +648,26 @@
this.MemoryDomainsSubMenu.DropDownItems.AddRange(new System.Windows.Forms.ToolStripItem[] {
this.Separator2});
this.MemoryDomainsSubMenu.Name = "MemoryDomainsSubMenu";
this.MemoryDomainsSubMenu.Size = new System.Drawing.Size(224, 22);
this.MemoryDomainsSubMenu.Size = new System.Drawing.Size(244, 22);
this.MemoryDomainsSubMenu.Text = "Default Domain";
this.MemoryDomainsSubMenu.DropDownOpened += new System.EventHandler(this.MemoryDomainsSubMenu_DropDownOpened);
//
// Separator2
//
this.Separator2.Name = "Separator2";
this.Separator2.Size = new System.Drawing.Size(149, 6);
this.Separator2.Size = new System.Drawing.Size(57, 6);
//
// toolStripSeparator8
//
this.toolStripSeparator8.Name = "toolStripSeparator8";
this.toolStripSeparator8.Size = new System.Drawing.Size(221, 6);
this.toolStripSeparator8.Size = new System.Drawing.Size(241, 6);
//
// NewWatchMenuItem
//
this.NewWatchMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.FindHS;
this.NewWatchMenuItem.Name = "NewWatchMenuItem";
this.NewWatchMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.W)));
this.NewWatchMenuItem.Size = new System.Drawing.Size(224, 22);
this.NewWatchMenuItem.Size = new System.Drawing.Size(244, 22);
this.NewWatchMenuItem.Text = "&New Watch";
this.NewWatchMenuItem.Click += new System.EventHandler(this.NewWatchMenuItem_Click);
//
@ -648,7 +676,7 @@
this.EditWatchMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.CutHS;
this.EditWatchMenuItem.Name = "EditWatchMenuItem";
this.EditWatchMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.E)));
this.EditWatchMenuItem.Size = new System.Drawing.Size(224, 22);
this.EditWatchMenuItem.Size = new System.Drawing.Size(244, 22);
this.EditWatchMenuItem.Text = "&Edit Watch";
this.EditWatchMenuItem.Click += new System.EventHandler(this.EditWatchMenuItem_Click);
//
@ -657,7 +685,7 @@
this.RemoveWatchMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Delete;
this.RemoveWatchMenuItem.Name = "RemoveWatchMenuItem";
this.RemoveWatchMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.R)));
this.RemoveWatchMenuItem.Size = new System.Drawing.Size(224, 22);
this.RemoveWatchMenuItem.Size = new System.Drawing.Size(244, 22);
this.RemoveWatchMenuItem.Text = "&Remove Watch";
this.RemoveWatchMenuItem.Click += new System.EventHandler(this.RemoveWatchMenuItem_Click);
//
@ -666,7 +694,7 @@
this.DuplicateWatchMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Duplicate;
this.DuplicateWatchMenuItem.Name = "DuplicateWatchMenuItem";
this.DuplicateWatchMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.D)));
this.DuplicateWatchMenuItem.Size = new System.Drawing.Size(224, 22);
this.DuplicateWatchMenuItem.Size = new System.Drawing.Size(244, 22);
this.DuplicateWatchMenuItem.Text = "&Duplicate Watch";
this.DuplicateWatchMenuItem.Click += new System.EventHandler(this.DuplicateWatchMenuItem_Click);
//
@ -675,7 +703,7 @@
this.PokeAddressMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.poke;
this.PokeAddressMenuItem.Name = "PokeAddressMenuItem";
this.PokeAddressMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.P)));
this.PokeAddressMenuItem.Size = new System.Drawing.Size(224, 22);
this.PokeAddressMenuItem.Size = new System.Drawing.Size(244, 22);
this.PokeAddressMenuItem.Text = "Poke Address";
this.PokeAddressMenuItem.Click += new System.EventHandler(this.PokeAddressMenuItem_Click);
//
@ -684,7 +712,7 @@
this.FreezeAddressMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Freeze;
this.FreezeAddressMenuItem.Name = "FreezeAddressMenuItem";
this.FreezeAddressMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.F)));
this.FreezeAddressMenuItem.Size = new System.Drawing.Size(224, 22);
this.FreezeAddressMenuItem.Size = new System.Drawing.Size(244, 22);
this.FreezeAddressMenuItem.Text = "Freeze Address";
this.FreezeAddressMenuItem.Click += new System.EventHandler(this.FreezeAddressMenuItem_Click);
//
@ -693,7 +721,7 @@
this.InsertSeparatorMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.InsertSeparator;
this.InsertSeparatorMenuItem.Name = "InsertSeparatorMenuItem";
this.InsertSeparatorMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.I)));
this.InsertSeparatorMenuItem.Size = new System.Drawing.Size(224, 22);
this.InsertSeparatorMenuItem.Size = new System.Drawing.Size(244, 22);
this.InsertSeparatorMenuItem.Text = "Insert Separator";
this.InsertSeparatorMenuItem.Click += new System.EventHandler(this.InsertSeparatorMenuItem_Click);
//
@ -701,21 +729,21 @@
//
this.ClearChangeCountsMenuItem.Name = "ClearChangeCountsMenuItem";
this.ClearChangeCountsMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Alt | System.Windows.Forms.Keys.C)));
this.ClearChangeCountsMenuItem.Size = new System.Drawing.Size(224, 22);
this.ClearChangeCountsMenuItem.Size = new System.Drawing.Size(244, 22);
this.ClearChangeCountsMenuItem.Text = "&Clear Change Counts";
this.ClearChangeCountsMenuItem.Click += new System.EventHandler(this.ClearChangeCountsMenuItem_Click);
//
// toolStripSeparator3
//
this.toolStripSeparator3.Name = "toolStripSeparator3";
this.toolStripSeparator3.Size = new System.Drawing.Size(221, 6);
this.toolStripSeparator3.Size = new System.Drawing.Size(241, 6);
//
// MoveUpMenuItem
//
this.MoveUpMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveUp;
this.MoveUpMenuItem.Name = "MoveUpMenuItem";
this.MoveUpMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Up)));
this.MoveUpMenuItem.Size = new System.Drawing.Size(224, 22);
this.MoveUpMenuItem.Size = new System.Drawing.Size(244, 22);
this.MoveUpMenuItem.Text = "Move &Up";
this.MoveUpMenuItem.Click += new System.EventHandler(this.MoveUpMenuItem_Click);
//
@ -724,28 +752,48 @@
this.MoveDownMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveDown;
this.MoveDownMenuItem.Name = "MoveDownMenuItem";
this.MoveDownMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Down)));
this.MoveDownMenuItem.Size = new System.Drawing.Size(224, 22);
this.MoveDownMenuItem.Size = new System.Drawing.Size(244, 22);
this.MoveDownMenuItem.Text = "Move &Down";
this.MoveDownMenuItem.Click += new System.EventHandler(this.MoveDownMenuItem_Click);
//
// MoveTopMenuItem
//
this.MoveTopMenuItem.Image = ((System.Drawing.Image)(resources.GetObject("MoveTopMenuItem.Image")));
this.MoveTopMenuItem.Name = "MoveTopMenuItem";
this.MoveTopMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.Up)));
this.MoveTopMenuItem.Size = new System.Drawing.Size(244, 22);
this.MoveTopMenuItem.Text = "Move &Top";
this.MoveTopMenuItem.Click += new System.EventHandler(this.MoveTopMenuItem_Click);
//
// MoveBottomMenuItem
//
this.MoveBottomMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.MoveBottom;
this.MoveBottomMenuItem.Name = "MoveBottomMenuItem";
this.MoveBottomMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)(((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.Shift)
| System.Windows.Forms.Keys.Down)));
this.MoveBottomMenuItem.Size = new System.Drawing.Size(244, 22);
this.MoveBottomMenuItem.Text = "Move &Bottom";
this.MoveBottomMenuItem.Click += new System.EventHandler(this.MoveBottomMenuItem_Click);
//
// SelectAllMenuItem
//
this.SelectAllMenuItem.Name = "SelectAllMenuItem";
this.SelectAllMenuItem.ShortcutKeyDisplayString = "Ctrl+A";
this.SelectAllMenuItem.Size = new System.Drawing.Size(224, 22);
this.SelectAllMenuItem.Size = new System.Drawing.Size(244, 22);
this.SelectAllMenuItem.Text = "Select &All";
this.SelectAllMenuItem.Click += new System.EventHandler(this.SelectAllMenuItem_Click);
//
// toolStripSeparator2
//
this.toolStripSeparator2.Name = "toolStripSeparator2";
this.toolStripSeparator2.Size = new System.Drawing.Size(221, 6);
this.toolStripSeparator2.Size = new System.Drawing.Size(241, 6);
//
// PauseMenuItem
//
this.PauseMenuItem.Image = global::BizHawk.Client.EmuHawk.Properties.Resources.Pause;
this.PauseMenuItem.Name = "PauseMenuItem";
this.PauseMenuItem.Size = new System.Drawing.Size(224, 22);
this.PauseMenuItem.Size = new System.Drawing.Size(244, 22);
this.PauseMenuItem.Text = "&Pause";
this.PauseMenuItem.Click += new System.EventHandler(this.PauseMenuItem_Click);
//
@ -1048,5 +1096,9 @@
private System.Windows.Forms.ToolStripMenuItem ReadBreakpointContextMenuItem;
private System.Windows.Forms.ToolStripMenuItem WriteBreakpointContextMenuItem;
private System.Windows.Forms.ToolStripMenuItem newToolStripMenuItem;
private System.Windows.Forms.ToolStripMenuItem MoveTopMenuItem;
private System.Windows.Forms.ToolStripMenuItem MoveBottomMenuItem;
private System.Windows.Forms.ToolStripMenuItem MoveTopContextMenuItem;
private System.Windows.Forms.ToolStripMenuItem MoveBottomContextMenuItem;
}
}

View File

@ -94,6 +94,14 @@ namespace BizHawk.Client.EmuHawk
get { return SelectedItems.Where(x => !x.IsSeparator); }
}
private IEnumerable<Watch> SelectedSeparators
{
get
{
return SelectedItems.Where(x => x.IsSeparator);
}
}
public IEnumerable<Watch> Watches
{
get
@ -425,6 +433,32 @@ namespace BizHawk.Client.EmuHawk
}
}
UpdateValues();
}
else if (SelectedSeparators.Any() && !duplicate)
{
var inputPrompt = new InputPrompt
{
Text = "Edit Separator",
StartLocation = this.ChildPointToScreen(WatchListView),
Message = "Separator Text:",
TextInputType = InputPrompt.InputType.Text
};
var result = inputPrompt.ShowHawkDialog();
if (result == DialogResult.OK)
{
Changes();
for (int i = 0; i < SelectedSeparators.Count(); i++)
{
var sep = SelectedSeparators.ToList()[i];
sep.Notes = inputPrompt.PromptText;
_watches[indexes[i]] = sep;
}
}
UpdateValues();
}
}
@ -627,11 +661,21 @@ namespace BizHawk.Client.EmuHawk
{
text = "";
if (index >= _watches.Count || _watches[index].IsSeparator)
if (index >= _watches.Count)
{
return;
}
if (_watches[index].IsSeparator)
{
if (WatchListView.Columns[column].Name == WatchList.ADDRESS)
{
text = _watches[index].Notes;
}
return;
}
var columnName = WatchListView.Columns[column].Name;
switch (columnName)
@ -733,6 +777,8 @@ namespace BizHawk.Client.EmuHawk
RemoveWatchMenuItem.Enabled =
MoveUpMenuItem.Enabled =
MoveDownMenuItem.Enabled =
MoveTopMenuItem.Enabled =
MoveBottomMenuItem.Enabled =
SelectedIndices.Any();
PokeAddressMenuItem.Enabled =
@ -913,6 +959,66 @@ namespace BizHawk.Client.EmuHawk
WatchListView.ItemCount = _watches.Count;
}
private void MoveTopMenuItem_Click(object sender, EventArgs e)
{
var indexes = SelectedIndices.ToList();
if (!indexes.Any())
{
return;
}
for (int i = 0; i < indexes.Count; i++)
{
var watch = _watches[indexes[i]];
_watches.RemoveAt(indexes[i]);
_watches.Insert(i, watch);
indexes[i] = i;
}
Changes();
WatchListView.SelectedIndices.Clear();
foreach (var t in indexes)
{
WatchListView.SelectItem(t, true);
}
WatchListView.ItemCount = _watches.Count;
}
private void MoveBottomMenuItem_Click(object sender, EventArgs e)
{
var indices = SelectedIndices.ToList();
if (indices.Count == 0) // || indices.Last() == _watches.Count - 1)
{
return;
}
for (var i = 0; i < indices.Count; i++)
{
var watch = _watches[indices[i] - i];
_watches.RemoveAt(indices[i] - i);
_watches.Insert(_watches.Count, watch);
//_watches.Add(watch);
//indices[i] = (_watches.Count - 1 - indices.Count) + i;
}
var newInd = new List<int>();
for (int i = 0, x = _watches.Count - indices.Count; i < indices.Count; i++, x++)
{
newInd.Add(x);
}
WatchListView.SelectedIndices.Clear();
foreach (var t in newInd)
{
WatchListView.SelectItem(t, true);
}
Changes();
WatchListView.ItemCount = _watches.Count;
}
private void SelectAllMenuItem_Click(object sender, EventArgs e)
{
WatchListView.SelectAll();
@ -1066,6 +1172,8 @@ namespace BizHawk.Client.EmuHawk
InsertSeperatorContextMenuItem.Visible =
MoveUpContextMenuItem.Visible =
MoveDownContextMenuItem.Visible =
MoveTopContextMenuItem.Visible =
MoveBottomContextMenuItem.Visible =
indexes.Count > 0;
ReadBreakpointContextMenuItem.Visible =

View File

@ -120,13 +120,66 @@
<metadata name="ListViewContextMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>264, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="MoveTopContextMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAABGdBTUEAALGOfPtRkwAAACBjSFJNAACH
DwAAjA8AAP1SAACBQAAAfXkAAOmLAAA85QAAGcxzPIV3AAAKOWlDQ1BQaG90b3Nob3AgSUNDIHByb2Zp
bGUAAEjHnZZ3VFTXFofPvXd6oc0wAlKG3rvAANJ7k15FYZgZYCgDDjM0sSGiAhFFRJoiSFDEgNFQJFZE
sRAUVLAHJAgoMRhFVCxvRtaLrqy89/Ly++Osb+2z97n77L3PWhcAkqcvl5cGSwGQyhPwgzyc6RGRUXTs
AIABHmCAKQBMVka6X7B7CBDJy82FniFyAl8EAfB6WLwCcNPQM4BOB/+fpFnpfIHomAARm7M5GSwRF4g4
JUuQLrbPipgalyxmGCVmvihBEcuJOWGRDT77LLKjmNmpPLaIxTmns1PZYu4V8bZMIUfEiK+ICzO5nCwR
3xKxRoowlSviN+LYVA4zAwAUSWwXcFiJIjYRMYkfEuQi4uUA4EgJX3HcVyzgZAvEl3JJS8/hcxMSBXQd
li7d1NqaQffkZKVwBALDACYrmcln013SUtOZvBwAFu/8WTLi2tJFRbY0tba0NDQzMv2qUP91829K3NtF
ehn4uWcQrf+L7a/80hoAYMyJarPziy2uCoDOLQDI3fti0zgAgKSobx3Xv7oPTTwviQJBuo2xcVZWlhGX
wzISF/QP/U+Hv6GvvmckPu6P8tBdOfFMYYqALq4bKy0lTcinZ6QzWRy64Z+H+B8H/nUeBkGceA6fwxNF
hImmjMtLELWbx+YKuGk8Opf3n5r4D8P+pMW5FonS+BFQY4yA1HUqQH7tBygKESDR+8Vd/6NvvvgwIH55
4SqTi3P/7zf9Z8Gl4iWDm/A5ziUohM4S8jMX98TPEqABAUgCKpAHykAd6ABDYAasgC1wBG7AG/iDEBAJ
VgMWSASpgA+yQB7YBApBMdgJ9oBqUAcaQTNoBcdBJzgFzoNL4Bq4AW6D+2AUTIBnYBa8BgsQBGEhMkSB
5CEVSBPSh8wgBmQPuUG+UBAUCcVCCRAPEkJ50GaoGCqDqqF6qBn6HjoJnYeuQIPQXWgMmoZ+h97BCEyC
qbASrAUbwwzYCfaBQ+BVcAK8Bs6FC+AdcCXcAB+FO+Dz8DX4NjwKP4PnEIAQERqiihgiDMQF8UeikHiE
j6xHipAKpAFpRbqRPuQmMorMIG9RGBQFRUcZomxRnqhQFAu1BrUeVYKqRh1GdaB6UTdRY6hZ1Ec0Ga2I
1kfboL3QEegEdBa6EF2BbkK3oy+ib6Mn0K8xGAwNo42xwnhiIjFJmLWYEsw+TBvmHGYQM46Zw2Kx8lh9
rB3WH8vECrCF2CrsUexZ7BB2AvsGR8Sp4Mxw7rgoHA+Xj6vAHcGdwQ3hJnELeCm8Jt4G749n43PwpfhG
fDf+On4Cv0CQJmgT7AghhCTCJkIloZVwkfCA8JJIJKoRrYmBRC5xI7GSeIx4mThGfEuSIemRXEjRJCFp
B+kQ6RzpLuklmUzWIjuSo8gC8g5yM/kC+RH5jQRFwkjCS4ItsUGiRqJDYkjiuSReUlPSSXK1ZK5kheQJ
yeuSM1J4KS0pFymm1HqpGqmTUiNSc9IUaVNpf+lU6RLpI9JXpKdksDJaMm4ybJkCmYMyF2TGKQhFneJC
YVE2UxopFykTVAxVm+pFTaIWU7+jDlBnZWVkl8mGyWbL1sielh2lITQtmhcthVZKO04bpr1borTEaQln
yfYlrUuGlszLLZVzlOPIFcm1yd2WeydPl3eTT5bfJd8p/1ABpaCnEKiQpbBf4aLCzFLqUtulrKVFS48v
vacIK+opBimuVTyo2K84p6Ss5KGUrlSldEFpRpmm7KicpFyufEZ5WoWiYq/CVSlXOavylC5Ld6Kn0Cvp
vfRZVUVVT1Whar3qgOqCmrZaqFq+WpvaQ3WCOkM9Xr1cvUd9VkNFw08jT6NF454mXpOhmai5V7NPc15L
Wytca6tWp9aUtpy2l3audov2Ax2yjoPOGp0GnVu6GF2GbrLuPt0berCehV6iXo3edX1Y31Kfq79Pf9AA
bWBtwDNoMBgxJBk6GWYathiOGdGMfI3yjTqNnhtrGEcZ7zLuM/5oYmGSYtJoct9UxtTbNN+02/R3Mz0z
llmN2S1zsrm7+QbzLvMXy/SXcZbtX3bHgmLhZ7HVosfig6WVJd+y1XLaSsMq1qrWaoRBZQQwShiXrdHW
ztYbrE9Zv7WxtBHYHLf5zdbQNtn2iO3Ucu3lnOWNy8ft1OyYdvV2o/Z0+1j7A/ajDqoOTIcGh8eO6o5s
xybHSSddpySno07PnU2c+c7tzvMuNi7rXM65Iq4erkWuA24ybqFu1W6P3NXcE9xb3Gc9LDzWepzzRHv6
eO7yHPFS8mJ5NXvNelt5r/Pu9SH5BPtU+zz21fPl+3b7wX7efrv9HqzQXMFb0ekP/L38d/s/DNAOWBPw
YyAmMCCwJvBJkGlQXlBfMCU4JvhI8OsQ55DSkPuhOqHC0J4wybDosOaw+XDX8LLw0QjjiHUR1yIVIrmR
XVHYqLCopqi5lW4r96yciLaILoweXqW9KnvVldUKq1NWn46RjGHGnIhFx4bHHol9z/RnNjDn4rziauNm
WS6svaxnbEd2OXuaY8cp40zG28WXxU8l2CXsTphOdEisSJzhunCruS+SPJPqkuaT/ZMPJX9KCU9pS8Wl
xqae5Mnwknm9acpp2WmD6frphemja2zW7Fkzy/fhN2VAGasyugRU0c9Uv1BHuEU4lmmfWZP5Jiss60S2
dDYvuz9HL2d7zmSue+63a1FrWWt78lTzNuWNrXNaV78eWh+3vmeD+oaCDRMbPTYe3kTYlLzpp3yT/LL8
V5vDN3cXKBVsLBjf4rGlpVCikF84stV2a9021DbutoHt5turtn8sYhddLTYprih+X8IqufqN6TeV33za
Eb9joNSydP9OzE7ezuFdDrsOl0mX5ZaN7/bb3VFOLy8qf7UnZs+VimUVdXsJe4V7Ryt9K7uqNKp2Vr2v
Tqy+XeNc01arWLu9dn4fe9/Qfsf9rXVKdcV17w5wD9yp96jvaNBqqDiIOZh58EljWGPft4xvm5sUmoqb
PhziHRo9HHS4t9mqufmI4pHSFrhF2DJ9NProje9cv+tqNWytb6O1FR8Dx4THnn4f+/3wcZ/jPScYJ1p/
0Pyhtp3SXtQBdeR0zHYmdo52RXYNnvQ+2dNt293+o9GPh06pnqo5LXu69AzhTMGZT2dzz86dSz83cz7h
/HhPTM/9CxEXbvUG9g5c9Ll4+ZL7pQt9Tn1nL9tdPnXF5srJq4yrndcsr3X0W/S3/2TxU/uA5UDHdavr
XTesb3QPLh88M+QwdP6m681Lt7xuXbu94vbgcOjwnZHokdE77DtTd1PuvriXeW/h/sYH6AdFD6UeVjxS
fNTws+7PbaOWo6fHXMf6Hwc/vj/OGn/2S8Yv7ycKnpCfVEyqTDZPmU2dmnafvvF05dOJZ+nPFmYKf5X+
tfa5zvMffnP8rX82YnbiBf/Fp99LXsq/PPRq2aueuYC5R69TXy/MF72Rf3P4LeNt37vwd5MLWe+x7ys/
6H7o/ujz8cGn1E+f/gUDmPP8usTo0wAAAAlwSFlzAAALEQAACxEBf2RfkQAAAH1JREFUOE/NkVEKwCAM
Q73/qbzJjtIZaEqrkU32s8JjNkvih83MPlGW3vtQ2iPwMVMKQkwzzJcfY4o3LyH6ePiaS4o3LxmG4ccX
u/ItApjCRJaUBWzCZCnZhVVJ6LmkFGS8LArmm8kikN8UsOTsGQlCRP0HUjxBiidI8T3WbqWyfy/jHSM0
AAAAAElFTkSuQmCC
</value>
</data>
<metadata name="statusStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>434, 17</value>
</metadata>
<metadata name="toolStrip1.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>159, 17</value>
</metadata>
<assembly alias="System.Drawing" name="System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
<data name="newToolStripButton.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
@ -215,6 +268,59 @@
<metadata name="RamWatchMenu.TrayLocation" type="System.Drawing.Point, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a">
<value>17, 17</value>
</metadata>
<data name="MoveTopMenuItem.Image" type="System.Drawing.Bitmap, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
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
AAAAAElFTkSuQmCC
</value>
</data>
<data name="$this.Icon" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
<value>
AAABAAEAEBAAAAEACABoBQAAFgAAACgAAAAQAAAAIAAAAAEACAAAAAAAQAEAAAAAAAAAAAAAAAEAAAAA