New Ram Search - add restart icon notification on settings that require a new search, also fix bug in big endian and check mis-aligned options

This commit is contained in:
adelikat 2013-09-27 00:55:53 +00:00
parent f1b394a877
commit 0490b128ad
2 changed files with 1228 additions and 1193 deletions

View File

@ -121,6 +121,7 @@
this.DifferenceRadio = new System.Windows.Forms.RadioButton();
this.NumberOfChangesBox = new BizHawk.UnsignedIntegerBox();
this.SpecificAddressBox = new BizHawk.HexTextBox();
this.SpecificValueBox = new BizHawk.MultiClient.WatchValueBox();
this.NumberOfChangesRadio = new System.Windows.Forms.RadioButton();
this.SpecificAddressRadio = new System.Windows.Forms.RadioButton();
this.SpecificValueRadio = new System.Windows.Forms.RadioButton();
@ -140,6 +141,8 @@
this.toolStripSeparator12 = new System.Windows.Forms.ToolStripSeparator();
this.UndoToolBarButton = new System.Windows.Forms.ToolStripButton();
this.RedoToolBarItem = new System.Windows.Forms.ToolStripButton();
this.RebootToolBarSeparator = new System.Windows.Forms.ToolStripSeparator();
this.RebootToolbarButton = new System.Windows.Forms.ToolStripButton();
this.ComparisonBox = new System.Windows.Forms.GroupBox();
this.DifferentByBox = new BizHawk.UnsignedIntegerBox();
this.DifferentByRadio = new System.Windows.Forms.RadioButton();
@ -150,7 +153,6 @@
this.GreaterThanRadio = new System.Windows.Forms.RadioButton();
this.LessThanRadio = new System.Windows.Forms.RadioButton();
this.SearchButton = new System.Windows.Forms.Button();
this.SpecificValueBox = new BizHawk.MultiClient.WatchValueBox();
SearchMenuItem = new System.Windows.Forms.ToolStripMenuItem();
this.contextMenuStrip1.SuspendLayout();
this.menuStrip1.SuspendLayout();
@ -942,6 +944,19 @@
this.SpecificAddressBox.TabIndex = 25;
this.SpecificAddressBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged);
//
// SpecificValueBox
//
this.SpecificValueBox.ByteSize = BizHawk.MultiClient.Watch.WatchSize.Byte;
this.SpecificValueBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
this.SpecificValueBox.Enabled = false;
this.SpecificValueBox.Location = new System.Drawing.Point(114, 38);
this.SpecificValueBox.MaxLength = 2;
this.SpecificValueBox.Name = "SpecificValueBox";
this.SpecificValueBox.Size = new System.Drawing.Size(65, 20);
this.SpecificValueBox.TabIndex = 15;
this.SpecificValueBox.Type = BizHawk.MultiClient.Watch.DisplayType.Hex;
this.SpecificValueBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged);
//
// NumberOfChangesRadio
//
this.NumberOfChangesRadio.AutoSize = true;
@ -1005,7 +1020,9 @@
this.FreezeAddressToolBarItem,
this.toolStripSeparator12,
this.UndoToolBarButton,
this.RedoToolBarItem});
this.RedoToolBarItem,
this.RebootToolBarSeparator,
this.RebootToolbarButton});
this.toolStrip1.Location = new System.Drawing.Point(0, 24);
this.toolStrip1.Name = "toolStrip1";
this.toolStrip1.Size = new System.Drawing.Size(438, 25);
@ -1140,6 +1157,21 @@
this.RedoToolBarItem.Text = "Redo";
this.RedoToolBarItem.Click += new System.EventHandler(this.RedoMenuItem_Click);
//
// RebootToolBarSeparator
//
this.RebootToolBarSeparator.Name = "RebootToolBarSeparator";
this.RebootToolBarSeparator.Size = new System.Drawing.Size(6, 25);
//
// RebootToolbarButton
//
this.RebootToolbarButton.DisplayStyle = System.Windows.Forms.ToolStripItemDisplayStyle.Image;
this.RebootToolbarButton.Image = global::BizHawk.MultiClient.Properties.Resources.reboot;
this.RebootToolbarButton.ImageTransparentColor = System.Drawing.Color.Magenta;
this.RebootToolbarButton.Name = "RebootToolbarButton";
this.RebootToolbarButton.Size = new System.Drawing.Size(23, 22);
this.RebootToolbarButton.Text = "A new search needs to be started in order for these changes to take effect";
this.RebootToolbarButton.Click += new System.EventHandler(this.NewSearchMenuMenuItem_Click);
//
// ComparisonBox
//
this.ComparisonBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
@ -1262,19 +1294,6 @@
this.SearchButton.UseVisualStyleBackColor = true;
this.SearchButton.Click += new System.EventHandler(this.SearchMenuItem_Click);
//
// SpecificValueBox
//
this.SpecificValueBox.ByteSize = BizHawk.MultiClient.Watch.WatchSize.Byte;
this.SpecificValueBox.CharacterCasing = System.Windows.Forms.CharacterCasing.Upper;
this.SpecificValueBox.Enabled = false;
this.SpecificValueBox.Location = new System.Drawing.Point(114, 38);
this.SpecificValueBox.MaxLength = 2;
this.SpecificValueBox.Name = "SpecificValueBox";
this.SpecificValueBox.Size = new System.Drawing.Size(65, 20);
this.SpecificValueBox.TabIndex = 15;
this.SpecificValueBox.Type = BizHawk.MultiClient.Watch.DisplayType.Hex;
this.SpecificValueBox.TextChanged += new System.EventHandler(this.CompareToValue_TextChanged);
//
// NewRamSearch
//
this.AllowDrop = true;
@ -1436,5 +1455,7 @@
private System.Windows.Forms.ToolStripMenuItem ShowDiffMenuItem;
private System.Windows.Forms.CheckBox AutoSearchCheckBox;
private System.Windows.Forms.Button SearchButton;
private System.Windows.Forms.ToolStripSeparator RebootToolBarSeparator;
private System.Windows.Forms.ToolStripButton RebootToolbarButton;
}
}

View File

@ -63,6 +63,7 @@ namespace BizHawk.MultiClient
Searches = new RamSearchEngine(Settings);
TopMost = Global.Config.RamSearchAlwaysOnTop;
SetReboot(false);
}
private void RamSearch_Load(object sender, EventArgs e)
@ -217,6 +218,7 @@ namespace BizHawk.MultiClient
SetTotal();
WatchListView.ItemCount = Searches.Count;
ToggleSearchDependentToolBarItems();
SetReboot(false);
}
private void ToggleSearchDependentToolBarItems()
@ -289,6 +291,7 @@ namespace BizHawk.MultiClient
{
Settings.Domain = Global.Emulator.MemoryDomains[pos];
SetDomainLabel();
SetReboot(true);
}
}
@ -397,6 +400,7 @@ namespace BizHawk.MultiClient
private void SetSize(Watch.WatchSize size)
{
SpecificValueBox.ByteSize = Settings.Size = size;
SetReboot(true);
}
private void SetComparisonOperator(RamSearchEngine.ComparisonOperator op)
@ -414,6 +418,13 @@ namespace BizHawk.MultiClient
Searches.CompareValue = value;
}
private void SetReboot(bool rebootNeeded)
{
RebootToolBarSeparator.Visible =
RebootToolbarButton.Visible =
rebootNeeded;
}
private void SetToDetailedMode()
{
Settings.Mode = RamSearchEngine.Settings.SearchMode.Detailed;
@ -423,6 +434,7 @@ namespace BizHawk.MultiClient
DifferentByBox.Enabled = true;
ClearChangeCountsToolBarItem.Enabled = true;
WatchListView.Columns[CHANGES].Width = Global.Config.RamSearchColumnWidths[CHANGES];
SetReboot(true);
}
private void SetToFastMode()
@ -446,6 +458,7 @@ namespace BizHawk.MultiClient
Global.Config.RamSearchColumnWidths[CHANGES] = WatchListView.Columns[CHANGES].Width;
WatchListView.Columns[CHANGES].Width = 0;
SetReboot(true);
}
private void RemoveAddresses()
@ -790,7 +803,8 @@ namespace BizHawk.MultiClient
private void CheckMisalignedMenuItem_Click(object sender, EventArgs e)
{
Settings.CheckMisAligned = CheckMisalignedMenuItem.Checked;
Settings.CheckMisAligned ^= true;
SetReboot(true);
}
private void Previous_LastFrameMenuItem_Click(object sender, EventArgs e)
@ -815,8 +829,8 @@ namespace BizHawk.MultiClient
private void BigEndianMenuItem_Click(object sender, EventArgs e)
{
Settings.BigEndian = BigEndianMenuItem.Checked;
Searches.SetEndian(BigEndianMenuItem.Checked);
Settings.BigEndian ^= true;
Searches.SetEndian(Settings.BigEndian);
}
#endregion
@ -1028,7 +1042,7 @@ namespace BizHawk.MultiClient
#endregion
#region ContextMenu
#region ContextMenu and Toolbar
private void contextMenuStrip1_Opening(object sender, CancelEventArgs e)
{