TAStudio: Grouped column display options by player, added mass toggle by player.
This commit is contained in:
parent
1f42bdd651
commit
0322e3bdbe
|
@ -821,7 +821,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
// toolStripSeparator19
|
// toolStripSeparator19
|
||||||
//
|
//
|
||||||
this.toolStripSeparator19.Name = "toolStripSeparator19";
|
this.toolStripSeparator19.Name = "toolStripSeparator19";
|
||||||
this.toolStripSeparator19.Size = new System.Drawing.Size(57, 6);
|
this.toolStripSeparator19.Size = new System.Drawing.Size(149, 6);
|
||||||
//
|
//
|
||||||
// HelpSubMenu
|
// HelpSubMenu
|
||||||
//
|
//
|
||||||
|
|
|
@ -764,6 +764,14 @@ namespace BizHawk.Client.EmuHawk
|
||||||
.Where(x => !string.IsNullOrWhiteSpace(x.Text))
|
.Where(x => !string.IsNullOrWhiteSpace(x.Text))
|
||||||
.Where(x => x.Name != "FrameColumn");
|
.Where(x => x.Name != "FrameColumn");
|
||||||
|
|
||||||
|
ToolStripMenuItem[] playerMenus = new ToolStripMenuItem[Global.Emulator.ControllerDefinition.PlayerCount + 1];
|
||||||
|
playerMenus[0] = ColumnsSubMenu;
|
||||||
|
for (int i = 1; i < playerMenus.Length; i++)
|
||||||
|
{
|
||||||
|
playerMenus[i] = new ToolStripMenuItem("Player " + i);
|
||||||
|
}
|
||||||
|
int player = 0;
|
||||||
|
|
||||||
foreach (var column in columns)
|
foreach (var column in columns)
|
||||||
{
|
{
|
||||||
var dummyColumnObject = column;
|
var dummyColumnObject = column;
|
||||||
|
@ -771,18 +779,53 @@ namespace BizHawk.Client.EmuHawk
|
||||||
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
|
||||||
};
|
};
|
||||||
|
|
||||||
menuItem.Click += (o, ev) =>
|
menuItem.CheckedChanged += (o, ev) =>
|
||||||
{
|
{
|
||||||
dummyColumnObject.Visible ^= true;
|
dummyColumnObject.Visible = (o as ToolStripMenuItem).Checked;
|
||||||
TasView.AllColumns.ColumnsChanged();
|
TasView.AllColumns.ColumnsChanged();
|
||||||
CurrentTasMovie.FlagChanges();
|
CurrentTasMovie.FlagChanges();
|
||||||
RefreshTasView();
|
RefreshTasView();
|
||||||
};
|
};
|
||||||
|
|
||||||
ColumnsSubMenu.DropDownItems.Add(menuItem);
|
if (column.Name.StartsWith("P" + (player + 1)))
|
||||||
|
{
|
||||||
|
player++;
|
||||||
|
ColumnsSubMenu.DropDownItems.Add(playerMenus[player]);
|
||||||
|
}
|
||||||
|
playerMenus[player].DropDownItems.Add(menuItem);
|
||||||
|
}
|
||||||
|
|
||||||
|
ColumnsSubMenu.DropDownItems.Add(new ToolStripSeparator());
|
||||||
|
for (int i = 1; i < playerMenus.Length; i++)
|
||||||
|
{
|
||||||
|
ToolStripMenuItem item = new ToolStripMenuItem("Show Player " + i);
|
||||||
|
item.CheckOnClick = true;
|
||||||
|
item.Checked = false;
|
||||||
|
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];
|
||||||
|
item.CheckedChanged += (o, ev) =>
|
||||||
|
{
|
||||||
|
foreach (ToolStripMenuItem subItem in dummyObject.DropDownItems)
|
||||||
|
subItem.Checked = item.Checked;
|
||||||
|
|
||||||
|
CurrentTasMovie.FlagChanges();
|
||||||
|
RefreshTasView();
|
||||||
|
|
||||||
|
};
|
||||||
|
|
||||||
|
ColumnsSubMenu.DropDownItems.Add(item);
|
||||||
}
|
}
|
||||||
|
|
||||||
ColumnsSubMenu.DropDownItems.Add(new ToolStripSeparator());
|
ColumnsSubMenu.DropDownItems.Add(new ToolStripSeparator());
|
||||||
|
|
Loading…
Reference in New Issue