Tastudio - branches - convert listview to inputroll
This commit is contained in:
parent
a32cb8f3bf
commit
72d73cd754
|
@ -35,10 +35,7 @@
|
||||||
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator1 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.AddContextMenu = new System.Windows.Forms.ToolStripMenuItem();
|
this.AddContextMenu = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.RemoveBranchContextMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.RemoveBranchContextMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.BranchView = new BizHawk.Client.EmuHawk.VirtualListView();
|
this.BranchView = new InputRoll();
|
||||||
this.BranchNumberColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
|
||||||
this.FrameColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
|
||||||
this.TimeColumn = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
|
||||||
this.BookmarksBranchesGroupBox.SuspendLayout();
|
this.BookmarksBranchesGroupBox.SuspendLayout();
|
||||||
this.BranchesContextMenu.SuspendLayout();
|
this.BranchesContextMenu.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
|
@ -101,42 +98,17 @@
|
||||||
this.BranchView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
this.BranchView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom)
|
||||||
| System.Windows.Forms.AnchorStyles.Left)
|
| System.Windows.Forms.AnchorStyles.Left)
|
||||||
| System.Windows.Forms.AnchorStyles.Right)));
|
| System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.BranchView.BlazingFast = false;
|
|
||||||
this.BranchView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
|
|
||||||
this.BranchNumberColumn,
|
|
||||||
this.FrameColumn,
|
|
||||||
this.TimeColumn});
|
|
||||||
this.BranchView.ContextMenuStrip = this.BranchesContextMenu;
|
this.BranchView.ContextMenuStrip = this.BranchesContextMenu;
|
||||||
this.BranchView.FullRowSelect = true;
|
this.BranchView.FullRowSelect = true;
|
||||||
this.BranchView.GridLines = true;
|
this.BranchView.GridLines = true;
|
||||||
this.BranchView.ItemCount = 0;
|
|
||||||
this.BranchView.Location = new System.Drawing.Point(6, 19);
|
this.BranchView.Location = new System.Drawing.Point(6, 19);
|
||||||
this.BranchView.MultiSelect = false;
|
this.BranchView.MultiSelect = false;
|
||||||
this.BranchView.Name = "BranchView";
|
this.BranchView.Name = "BranchView";
|
||||||
this.BranchView.SelectAllInProgress = false;
|
|
||||||
this.BranchView.selectedItem = -1;
|
|
||||||
this.BranchView.Size = new System.Drawing.Size(186, 224);
|
this.BranchView.Size = new System.Drawing.Size(186, 224);
|
||||||
this.BranchView.TabIndex = 0;
|
this.BranchView.TabIndex = 0;
|
||||||
this.BranchView.UseCompatibleStateImageBehavior = false;
|
|
||||||
this.BranchView.UseCustomBackground = true;
|
this.BranchView.UseCustomBackground = true;
|
||||||
this.BranchView.View = System.Windows.Forms.View.Details;
|
|
||||||
this.BranchView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.BranchView_MouseDoubleClick);
|
this.BranchView.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.BranchView_MouseDoubleClick);
|
||||||
//
|
//
|
||||||
// BranchNumberColumn
|
|
||||||
//
|
|
||||||
this.BranchNumberColumn.Text = "#";
|
|
||||||
this.BranchNumberColumn.Width = 30;
|
|
||||||
//
|
|
||||||
// FrameColumn
|
|
||||||
//
|
|
||||||
this.FrameColumn.Text = "Frame";
|
|
||||||
this.FrameColumn.Width = 68;
|
|
||||||
//
|
|
||||||
// TimeColumn
|
|
||||||
//
|
|
||||||
this.TimeColumn.Text = "Length";
|
|
||||||
this.TimeColumn.Width = 83;
|
|
||||||
//
|
|
||||||
// BookmarksBranchesBox
|
// BookmarksBranchesBox
|
||||||
//
|
//
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Inherit;
|
||||||
|
@ -152,10 +124,7 @@
|
||||||
#endregion
|
#endregion
|
||||||
|
|
||||||
private System.Windows.Forms.GroupBox BookmarksBranchesGroupBox;
|
private System.Windows.Forms.GroupBox BookmarksBranchesGroupBox;
|
||||||
private VirtualListView BranchView;
|
private InputRoll BranchView;
|
||||||
private System.Windows.Forms.ColumnHeader BranchNumberColumn;
|
|
||||||
private System.Windows.Forms.ColumnHeader FrameColumn;
|
|
||||||
private System.Windows.Forms.ColumnHeader TimeColumn;
|
|
||||||
private System.Windows.Forms.ContextMenuStrip BranchesContextMenu;
|
private System.Windows.Forms.ContextMenuStrip BranchesContextMenu;
|
||||||
private System.Windows.Forms.ToolStripMenuItem AddContextMenu;
|
private System.Windows.Forms.ToolStripMenuItem AddContextMenu;
|
||||||
private System.Windows.Forms.ToolStripMenuItem RemoveBranchContextMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem RemoveBranchContextMenuItem;
|
||||||
|
|
|
@ -15,6 +15,10 @@ namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
public partial class BookmarksBranchesBox : UserControl
|
public partial class BookmarksBranchesBox : UserControl
|
||||||
{
|
{
|
||||||
|
private const string BranchNumberColumnName = "BranchNumberColumn";
|
||||||
|
private const string FrameColumnName = "FrameColumn";
|
||||||
|
private const string TimeColumnName = "TimeColumn";
|
||||||
|
|
||||||
private readonly PlatformFrameRates FrameRates = new PlatformFrameRates();
|
private readonly PlatformFrameRates FrameRates = new PlatformFrameRates();
|
||||||
public TAStudio Tastudio { get; set; }
|
public TAStudio Tastudio { get; set; }
|
||||||
|
|
||||||
|
@ -26,6 +30,29 @@ namespace BizHawk.Client.EmuHawk
|
||||||
public BookmarksBranchesBox()
|
public BookmarksBranchesBox()
|
||||||
{
|
{
|
||||||
InitializeComponent();
|
InitializeComponent();
|
||||||
|
|
||||||
|
BranchView.AllColumns.AddRange(new InputRoll.RollColumn[]
|
||||||
|
{
|
||||||
|
new InputRoll.RollColumn
|
||||||
|
{
|
||||||
|
Name = BranchNumberColumnName,
|
||||||
|
Text = "#",
|
||||||
|
Width = 30
|
||||||
|
},
|
||||||
|
new InputRoll.RollColumn
|
||||||
|
{
|
||||||
|
Name = FrameColumnName,
|
||||||
|
Text = "Frame",
|
||||||
|
Width = 68
|
||||||
|
},
|
||||||
|
new InputRoll.RollColumn
|
||||||
|
{
|
||||||
|
Name = TimeColumnName,
|
||||||
|
Text = "Length",
|
||||||
|
Width = 83
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
BranchView.QueryItemText += QueryItemText;
|
BranchView.QueryItemText += QueryItemText;
|
||||||
BranchView.QueryItemBkColor += QueryItemBkColor;
|
BranchView.QueryItemBkColor += QueryItemBkColor;
|
||||||
}
|
}
|
||||||
|
@ -34,9 +61,9 @@ namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
get
|
get
|
||||||
{
|
{
|
||||||
if (BranchView.SelectedIndices.Count > 0)
|
if (BranchView.SelectedRows.Any())
|
||||||
{
|
{
|
||||||
return Branches[BranchView.SelectedIndices[0]];
|
return Branches[BranchView.SelectedRows.First()];
|
||||||
}
|
}
|
||||||
|
|
||||||
return null;
|
return null;
|
||||||
|
@ -45,32 +72,30 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
private int CurrentBranch = -1;
|
private int CurrentBranch = -1;
|
||||||
|
|
||||||
private void QueryItemText(int index, int column, out string text)
|
private void QueryItemText(int index, InputRoll.RollColumn column, out string text)
|
||||||
{
|
{
|
||||||
text = string.Empty;
|
text = string.Empty;
|
||||||
|
|
||||||
var columnName = BranchView.Columns[column].Name;
|
|
||||||
|
|
||||||
if (index >= Tastudio.CurrentTasMovie.TasBranches.Count)
|
if (index >= Tastudio.CurrentTasMovie.TasBranches.Count)
|
||||||
{
|
{
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
switch (column)
|
switch (column.Name)
|
||||||
{
|
{
|
||||||
case 0: // BranchNumberColumn
|
case BranchNumberColumnName:
|
||||||
text = index.ToString();
|
text = index.ToString();
|
||||||
break;
|
break;
|
||||||
case 1: // FrameColumn
|
case FrameColumnName:
|
||||||
text = Branches[index].Frame.ToString();
|
text = Branches[index].Frame.ToString();
|
||||||
break;
|
break;
|
||||||
case 2: // TimeColumn
|
case TimeColumnName:
|
||||||
text = MovieTime(Branches[index].Frame).ToString(@"hh\:mm\:ss\.fff");
|
text = MovieTime(Branches[index].Frame).ToString(@"hh\:mm\:ss\.fff");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
private void QueryItemBkColor(int index, int column, ref Color color)
|
private void QueryItemBkColor(int index, InputRoll.RollColumn column, ref Color color)
|
||||||
{
|
{
|
||||||
if (index == CurrentBranch)
|
if (index == CurrentBranch)
|
||||||
color = SystemColors.HotTrack;
|
color = SystemColors.HotTrack;
|
||||||
|
@ -91,22 +116,25 @@ namespace BizHawk.Client.EmuHawk
|
||||||
};
|
};
|
||||||
|
|
||||||
Branches.Add(branch);
|
Branches.Add(branch);
|
||||||
BranchView.ItemCount = Branches.Count;
|
BranchView.RowCount = Branches.Count;
|
||||||
|
BranchView.Refresh();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void BranchView_MouseDoubleClick(object sender, MouseEventArgs e)
|
private void BranchView_MouseDoubleClick(object sender, MouseEventArgs e)
|
||||||
{
|
{
|
||||||
LoadSelectedBranch();
|
LoadSelectedBranch();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadBranchContextMenuItem_Click(object sender, EventArgs e)
|
private void LoadBranchContextMenuItem_Click(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
LoadSelectedBranch();
|
LoadSelectedBranch();
|
||||||
}
|
}
|
||||||
|
|
||||||
private void LoadSelectedBranch()
|
private void LoadSelectedBranch()
|
||||||
{
|
{
|
||||||
if (SelectedBranch != null)
|
if (SelectedBranch != null)
|
||||||
{
|
{
|
||||||
CurrentBranch = BranchView.selectedItem;
|
CurrentBranch = BranchView.SelectedRows.First();
|
||||||
BranchView.Refresh();
|
BranchView.Refresh();
|
||||||
LoadBranch(SelectedBranch);
|
LoadBranch(SelectedBranch);
|
||||||
}
|
}
|
||||||
|
@ -124,7 +152,8 @@ namespace BizHawk.Client.EmuHawk
|
||||||
if (SelectedBranch != null)
|
if (SelectedBranch != null)
|
||||||
{
|
{
|
||||||
Branches.Remove(SelectedBranch);
|
Branches.Remove(SelectedBranch);
|
||||||
BranchView.ItemCount = Branches.Count;
|
BranchView.RowCount = Branches.Count;
|
||||||
|
BranchView.Refresh();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -181,7 +210,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
|
|
||||||
public void UpdateValues()
|
public void UpdateValues()
|
||||||
{
|
{
|
||||||
BranchView.ItemCount = Branches.Count;
|
BranchView.RowCount = Branches.Count;
|
||||||
}
|
}
|
||||||
|
|
||||||
public void Branch()
|
public void Branch()
|
||||||
|
|
Loading…
Reference in New Issue