TAStudio: Columns menu set up during initialization; toggling visibility of a player's input keeps individual column selections; toggling a button's visibility leaves the menu open.

This commit is contained in:
SuuperW 2015-03-10 00:33:58 +00:00
parent 3b078522a6
commit 36c7d50528
3 changed files with 18 additions and 18 deletions

View File

@ -816,7 +816,6 @@ namespace BizHawk.Client.EmuHawk
this.ColumnsSubMenu.Name = "ColumnsSubMenu"; this.ColumnsSubMenu.Name = "ColumnsSubMenu";
this.ColumnsSubMenu.Size = new System.Drawing.Size(67, 20); this.ColumnsSubMenu.Size = new System.Drawing.Size(67, 20);
this.ColumnsSubMenu.Text = "&Columns"; this.ColumnsSubMenu.Text = "&Columns";
this.ColumnsSubMenu.DropDownOpened += new System.EventHandler(this.ColumnsSubMenu_DropDownOpened);
// //
// toolStripSeparator19 // toolStripSeparator19
// //

View File

@ -756,7 +756,7 @@ namespace BizHawk.Client.EmuHawk
#region Columns #region Columns
private void ColumnsSubMenu_DropDownOpened(object sender, EventArgs e) private void SetUpToolStripColumns()
{ {
ColumnsSubMenu.DropDownItems.Clear(); ColumnsSubMenu.DropDownItems.Clear();
@ -774,21 +774,23 @@ namespace BizHawk.Client.EmuHawk
foreach (var column in columns) foreach (var column in columns)
{ {
var dummyColumnObject = column;
var menuItem = new ToolStripMenuItem var menuItem = new ToolStripMenuItem
{ {
Text = column.Text + " (" + column.Name + ")", Text = column.Text + " (" + column.Name + ")",
Checked = column.Visible, Checked = column.Visible,
CheckOnClick = true CheckOnClick = true,
Tag = column
}; };
menuItem.CheckedChanged += (o, ev) => menuItem.CheckedChanged += (o, ev) =>
{ {
dummyColumnObject.Visible = (o as ToolStripMenuItem).Checked; var sender = o as ToolStripMenuItem;
(sender.Tag as InputRoll.RollColumn).Visible = sender.Checked;
TasView.AllColumns.ColumnsChanged(); TasView.AllColumns.ColumnsChanged();
CurrentTasMovie.FlagChanges(); CurrentTasMovie.FlagChanges();
RefreshTasView(); RefreshTasView();
ColumnsSubMenu.ShowDropDown();
(sender.OwnerItem as ToolStripMenuItem).ShowDropDown();
}; };
if (column.Name.StartsWith("P" + (player + 1))) if (column.Name.StartsWith("P" + (player + 1)))
@ -804,21 +806,17 @@ namespace BizHawk.Client.EmuHawk
{ {
ToolStripMenuItem item = new ToolStripMenuItem("Show Player " + i); ToolStripMenuItem item = new ToolStripMenuItem("Show Player " + i);
item.CheckOnClick = true; item.CheckOnClick = true;
item.Checked = false; item.Checked = true;
for (int j = 1; j < playerMenus[i].DropDownItems.Count; j++)
{
if ((playerMenus[i].DropDownItems[j] as ToolStripMenuItem).Checked)
{
item.Checked = true;
break;
}
}
var dummyObject = playerMenus[i]; int dummyInt = i;
ToolStripMenuItem dummyObject = playerMenus[i];
item.CheckedChanged += (o, ev) => item.CheckedChanged += (o, ev) =>
{ {
foreach (ToolStripMenuItem subItem in dummyObject.DropDownItems) foreach (ToolStripMenuItem menuItem in dummyObject.DropDownItems)
subItem.Checked = item.Checked; {
(menuItem.Tag as InputRoll.RollColumn).Visible =
(o as ToolStripMenuItem).Checked && menuItem.Checked;
}
CurrentTasMovie.FlagChanges(); CurrentTasMovie.FlagChanges();
RefreshTasView(); RefreshTasView();

View File

@ -350,6 +350,7 @@ namespace BizHawk.Client.EmuHawk
AddColumn(kvp.Key, kvp.Value, 20 * kvp.Value.Length); AddColumn(kvp.Key, kvp.Value, 20 * kvp.Value.Length);
} }
// Patterns
int bStart = 0; int bStart = 0;
int fStart = 0; int fStart = 0;
if (BoolPatterns == null) if (BoolPatterns == null)
@ -376,6 +377,8 @@ namespace BizHawk.Client.EmuHawk
FloatPatterns[FloatPatterns.Length - 2] = new AutoPatternFloat(new float[] { 1f }); FloatPatterns[FloatPatterns.Length - 2] = new AutoPatternFloat(new float[] { 1f });
FloatPatterns[FloatPatterns.Length - 1] = new AutoPatternFloat( FloatPatterns[FloatPatterns.Length - 1] = new AutoPatternFloat(
1f, Global.Config.AutofireOn, 0f, Global.Config.AutofireOff); 1f, Global.Config.AutofireOn, 0f, Global.Config.AutofireOff);
SetUpToolStripColumns();
} }
public void AddColumn(string columnName, string columnText, int columnWidth) public void AddColumn(string columnName, string columnText, int columnWidth)