TAStudio - implement copy function, and slicer section
This commit is contained in:
parent
952892b5df
commit
37f5027de6
|
@ -78,9 +78,12 @@
|
||||||
this.insertFramesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
this.insertFramesToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
this.toolStripSeparator5 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
this.toolStripItem_SelectAll = new System.Windows.Forms.ToolStripMenuItem();
|
this.toolStripItem_SelectAll = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
|
||||||
|
this.truncateMovieToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.ControllerBox = new System.Windows.Forms.GroupBox();
|
this.ControllerBox = new System.Windows.Forms.GroupBox();
|
||||||
this.ControllersContext = new System.Windows.Forms.ContextMenuStrip(this.components);
|
this.ControllersContext = new System.Windows.Forms.ContextMenuStrip(this.components);
|
||||||
this.clearToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
this.clearToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
|
this.copyToolStripMenuItem = new System.Windows.Forms.ToolStripMenuItem();
|
||||||
this.toolStrip1 = new ToolStripEx();
|
this.toolStrip1 = new ToolStripEx();
|
||||||
this.RewindToBeginning = new System.Windows.Forms.ToolStripButton();
|
this.RewindToBeginning = new System.Windows.Forms.ToolStripButton();
|
||||||
this.RewindButton = new System.Windows.Forms.ToolStripButton();
|
this.RewindButton = new System.Windows.Forms.ToolStripButton();
|
||||||
|
@ -94,12 +97,16 @@
|
||||||
this.TASView = new BizHawk.VirtualListView();
|
this.TASView = new BizHawk.VirtualListView();
|
||||||
this.Frame = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
this.Frame = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
this.Log = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
this.Log = ((System.Windows.Forms.ColumnHeader)(new System.Windows.Forms.ColumnHeader()));
|
||||||
this.truncateMovieToolStripMenuItem1 = new System.Windows.Forms.ToolStripMenuItem();
|
this.groupBox1 = new System.Windows.Forms.GroupBox();
|
||||||
this.toolStripSeparator9 = new System.Windows.Forms.ToolStripSeparator();
|
this.label1 = new System.Windows.Forms.Label();
|
||||||
|
this.label2 = new System.Windows.Forms.Label();
|
||||||
|
this.SelectionDisplay = new System.Windows.Forms.Label();
|
||||||
|
this.ClipboardDisplay = new System.Windows.Forms.Label();
|
||||||
this.menuStrip1.SuspendLayout();
|
this.menuStrip1.SuspendLayout();
|
||||||
this.contextMenuStrip1.SuspendLayout();
|
this.contextMenuStrip1.SuspendLayout();
|
||||||
this.ControllersContext.SuspendLayout();
|
this.ControllersContext.SuspendLayout();
|
||||||
this.toolStrip1.SuspendLayout();
|
this.toolStrip1.SuspendLayout();
|
||||||
|
this.groupBox1.SuspendLayout();
|
||||||
this.SuspendLayout();
|
this.SuspendLayout();
|
||||||
//
|
//
|
||||||
// menuStrip1
|
// menuStrip1
|
||||||
|
@ -221,6 +228,7 @@
|
||||||
this.insertFrameToolStripMenuItem,
|
this.insertFrameToolStripMenuItem,
|
||||||
this.insertNumFramesToolStripMenuItem,
|
this.insertNumFramesToolStripMenuItem,
|
||||||
this.toolStripSeparator7,
|
this.toolStripSeparator7,
|
||||||
|
this.copyToolStripMenuItem,
|
||||||
this.selectAllToolStripMenuItem,
|
this.selectAllToolStripMenuItem,
|
||||||
this.toolStripSeparator8,
|
this.toolStripSeparator8,
|
||||||
this.truncateMovieToolStripMenuItem,
|
this.truncateMovieToolStripMenuItem,
|
||||||
|
@ -375,7 +383,7 @@
|
||||||
this.toolStripSeparator9,
|
this.toolStripSeparator9,
|
||||||
this.truncateMovieToolStripMenuItem1});
|
this.truncateMovieToolStripMenuItem1});
|
||||||
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
this.contextMenuStrip1.Name = "contextMenuStrip1";
|
||||||
this.contextMenuStrip1.Size = new System.Drawing.Size(185, 192);
|
this.contextMenuStrip1.Size = new System.Drawing.Size(185, 170);
|
||||||
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
|
this.contextMenuStrip1.Opening += new System.ComponentModel.CancelEventHandler(this.contextMenuStrip1_Opening);
|
||||||
//
|
//
|
||||||
// clearToolStripMenuItem3
|
// clearToolStripMenuItem3
|
||||||
|
@ -427,11 +435,23 @@
|
||||||
this.toolStripItem_SelectAll.Text = "Select All";
|
this.toolStripItem_SelectAll.Text = "Select All";
|
||||||
this.toolStripItem_SelectAll.Click += new System.EventHandler(this.SelectAll_Click);
|
this.toolStripItem_SelectAll.Click += new System.EventHandler(this.SelectAll_Click);
|
||||||
//
|
//
|
||||||
|
// toolStripSeparator9
|
||||||
|
//
|
||||||
|
this.toolStripSeparator9.Name = "toolStripSeparator9";
|
||||||
|
this.toolStripSeparator9.Size = new System.Drawing.Size(181, 6);
|
||||||
|
//
|
||||||
|
// truncateMovieToolStripMenuItem1
|
||||||
|
//
|
||||||
|
this.truncateMovieToolStripMenuItem1.Name = "truncateMovieToolStripMenuItem1";
|
||||||
|
this.truncateMovieToolStripMenuItem1.Size = new System.Drawing.Size(184, 22);
|
||||||
|
this.truncateMovieToolStripMenuItem1.Text = "&Truncate Movie";
|
||||||
|
this.truncateMovieToolStripMenuItem1.Click += new System.EventHandler(this.truncateMovieToolStripMenuItem1_Click);
|
||||||
|
//
|
||||||
// ControllerBox
|
// ControllerBox
|
||||||
//
|
//
|
||||||
this.ControllerBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
this.ControllerBox.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.ControllerBox.ContextMenuStrip = this.ControllersContext;
|
this.ControllerBox.ContextMenuStrip = this.ControllersContext;
|
||||||
this.ControllerBox.Location = new System.Drawing.Point(300, 55);
|
this.ControllerBox.Location = new System.Drawing.Point(300, 144);
|
||||||
this.ControllerBox.Name = "ControllerBox";
|
this.ControllerBox.Name = "ControllerBox";
|
||||||
this.ControllerBox.Size = new System.Drawing.Size(367, 197);
|
this.ControllerBox.Size = new System.Drawing.Size(367, 197);
|
||||||
this.ControllerBox.TabIndex = 4;
|
this.ControllerBox.TabIndex = 4;
|
||||||
|
@ -452,6 +472,14 @@
|
||||||
this.clearToolStripMenuItem1.Text = "&Clear Holds";
|
this.clearToolStripMenuItem1.Text = "&Clear Holds";
|
||||||
this.clearToolStripMenuItem1.Click += new System.EventHandler(this.clearToolStripMenuItem1_Click);
|
this.clearToolStripMenuItem1.Click += new System.EventHandler(this.clearToolStripMenuItem1_Click);
|
||||||
//
|
//
|
||||||
|
// copyToolStripMenuItem
|
||||||
|
//
|
||||||
|
this.copyToolStripMenuItem.Name = "copyToolStripMenuItem";
|
||||||
|
this.copyToolStripMenuItem.ShortcutKeys = ((System.Windows.Forms.Keys)((System.Windows.Forms.Keys.Control | System.Windows.Forms.Keys.C)));
|
||||||
|
this.copyToolStripMenuItem.Size = new System.Drawing.Size(187, 22);
|
||||||
|
this.copyToolStripMenuItem.Text = "Copy";
|
||||||
|
this.copyToolStripMenuItem.Click += new System.EventHandler(this.copyToolStripMenuItem_Click);
|
||||||
|
//
|
||||||
// toolStrip1
|
// toolStrip1
|
||||||
//
|
//
|
||||||
this.toolStrip1.ClickThrough = true;
|
this.toolStrip1.ClickThrough = true;
|
||||||
|
@ -585,6 +613,7 @@
|
||||||
this.TASView.UseCompatibleStateImageBehavior = false;
|
this.TASView.UseCompatibleStateImageBehavior = false;
|
||||||
this.TASView.View = System.Windows.Forms.View.Details;
|
this.TASView.View = System.Windows.Forms.View.Details;
|
||||||
this.TASView.SelectedIndexChanged += new System.EventHandler(this.TASView_SelectedIndexChanged);
|
this.TASView.SelectedIndexChanged += new System.EventHandler(this.TASView_SelectedIndexChanged);
|
||||||
|
this.TASView.Click += new System.EventHandler(this.TASView_Click);
|
||||||
this.TASView.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.TASView_MouseWheel);
|
this.TASView.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.TASView_MouseWheel);
|
||||||
//
|
//
|
||||||
// Frame
|
// Frame
|
||||||
|
@ -596,23 +625,62 @@
|
||||||
this.Log.Text = "Log";
|
this.Log.Text = "Log";
|
||||||
this.Log.Width = 201;
|
this.Log.Width = 201;
|
||||||
//
|
//
|
||||||
// truncateMovieToolStripMenuItem1
|
// groupBox1
|
||||||
//
|
//
|
||||||
this.truncateMovieToolStripMenuItem1.Name = "truncateMovieToolStripMenuItem1";
|
this.groupBox1.Anchor = ((System.Windows.Forms.AnchorStyles)((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Right)));
|
||||||
this.truncateMovieToolStripMenuItem1.Size = new System.Drawing.Size(184, 22);
|
this.groupBox1.Controls.Add(this.ClipboardDisplay);
|
||||||
this.truncateMovieToolStripMenuItem1.Text = "&Truncate Movie";
|
this.groupBox1.Controls.Add(this.SelectionDisplay);
|
||||||
this.truncateMovieToolStripMenuItem1.Click += new System.EventHandler(this.truncateMovieToolStripMenuItem1_Click);
|
this.groupBox1.Controls.Add(this.label2);
|
||||||
|
this.groupBox1.Controls.Add(this.label1);
|
||||||
|
this.groupBox1.Location = new System.Drawing.Point(300, 55);
|
||||||
|
this.groupBox1.Name = "groupBox1";
|
||||||
|
this.groupBox1.Size = new System.Drawing.Size(367, 83);
|
||||||
|
this.groupBox1.TabIndex = 5;
|
||||||
|
this.groupBox1.TabStop = false;
|
||||||
|
this.groupBox1.Text = "Slicer";
|
||||||
//
|
//
|
||||||
// toolStripSeparator9
|
// label1
|
||||||
//
|
//
|
||||||
this.toolStripSeparator9.Name = "toolStripSeparator9";
|
this.label1.AutoSize = true;
|
||||||
this.toolStripSeparator9.Size = new System.Drawing.Size(181, 6);
|
this.label1.Location = new System.Drawing.Point(8, 19);
|
||||||
|
this.label1.Name = "label1";
|
||||||
|
this.label1.Size = new System.Drawing.Size(54, 13);
|
||||||
|
this.label1.TabIndex = 0;
|
||||||
|
this.label1.Text = "Selection:";
|
||||||
|
//
|
||||||
|
// label2
|
||||||
|
//
|
||||||
|
this.label2.AutoSize = true;
|
||||||
|
this.label2.Location = new System.Drawing.Point(8, 36);
|
||||||
|
this.label2.Name = "label2";
|
||||||
|
this.label2.Size = new System.Drawing.Size(54, 13);
|
||||||
|
this.label2.TabIndex = 1;
|
||||||
|
this.label2.Text = "Clipboard:";
|
||||||
|
//
|
||||||
|
// SelectionDisplay
|
||||||
|
//
|
||||||
|
this.SelectionDisplay.AutoSize = true;
|
||||||
|
this.SelectionDisplay.Location = new System.Drawing.Point(68, 19);
|
||||||
|
this.SelectionDisplay.Name = "SelectionDisplay";
|
||||||
|
this.SelectionDisplay.Size = new System.Drawing.Size(31, 13);
|
||||||
|
this.SelectionDisplay.TabIndex = 2;
|
||||||
|
this.SelectionDisplay.Text = "none";
|
||||||
|
//
|
||||||
|
// ClipboardDisplay
|
||||||
|
//
|
||||||
|
this.ClipboardDisplay.AutoSize = true;
|
||||||
|
this.ClipboardDisplay.Location = new System.Drawing.Point(68, 36);
|
||||||
|
this.ClipboardDisplay.Name = "ClipboardDisplay";
|
||||||
|
this.ClipboardDisplay.Size = new System.Drawing.Size(31, 13);
|
||||||
|
this.ClipboardDisplay.TabIndex = 3;
|
||||||
|
this.ClipboardDisplay.Text = "none";
|
||||||
//
|
//
|
||||||
// TAStudio
|
// TAStudio
|
||||||
//
|
//
|
||||||
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
|
||||||
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
|
||||||
this.ClientSize = new System.Drawing.Size(686, 519);
|
this.ClientSize = new System.Drawing.Size(686, 519);
|
||||||
|
this.Controls.Add(this.groupBox1);
|
||||||
this.Controls.Add(this.toolStrip1);
|
this.Controls.Add(this.toolStrip1);
|
||||||
this.Controls.Add(this.menuStrip1);
|
this.Controls.Add(this.menuStrip1);
|
||||||
this.Controls.Add(this.ReadOnlyCheckBox);
|
this.Controls.Add(this.ReadOnlyCheckBox);
|
||||||
|
@ -630,6 +698,8 @@
|
||||||
this.ControllersContext.ResumeLayout(false);
|
this.ControllersContext.ResumeLayout(false);
|
||||||
this.toolStrip1.ResumeLayout(false);
|
this.toolStrip1.ResumeLayout(false);
|
||||||
this.toolStrip1.PerformLayout();
|
this.toolStrip1.PerformLayout();
|
||||||
|
this.groupBox1.ResumeLayout(false);
|
||||||
|
this.groupBox1.PerformLayout();
|
||||||
this.ResumeLayout(false);
|
this.ResumeLayout(false);
|
||||||
this.PerformLayout();
|
this.PerformLayout();
|
||||||
|
|
||||||
|
@ -696,5 +766,11 @@
|
||||||
private System.Windows.Forms.ToolStripMenuItem truncateMovieToolStripMenuItem;
|
private System.Windows.Forms.ToolStripMenuItem truncateMovieToolStripMenuItem;
|
||||||
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
|
private System.Windows.Forms.ToolStripSeparator toolStripSeparator9;
|
||||||
private System.Windows.Forms.ToolStripMenuItem truncateMovieToolStripMenuItem1;
|
private System.Windows.Forms.ToolStripMenuItem truncateMovieToolStripMenuItem1;
|
||||||
|
private System.Windows.Forms.ToolStripMenuItem copyToolStripMenuItem;
|
||||||
|
private System.Windows.Forms.GroupBox groupBox1;
|
||||||
|
private System.Windows.Forms.Label ClipboardDisplay;
|
||||||
|
private System.Windows.Forms.Label SelectionDisplay;
|
||||||
|
private System.Windows.Forms.Label label2;
|
||||||
|
private System.Windows.Forms.Label label1;
|
||||||
}
|
}
|
||||||
}
|
}
|
|
@ -12,6 +12,12 @@ namespace BizHawk.MultiClient
|
||||||
public partial class TAStudio : Form
|
public partial class TAStudio : Form
|
||||||
{
|
{
|
||||||
//TODO:
|
//TODO:
|
||||||
|
//Slicer Section:
|
||||||
|
//View clipboard - opens a pop-up with a listview showing the input
|
||||||
|
//Save clipboard as macro - adds to the macro list (todo: macro list)
|
||||||
|
//click & drag on list view should highlight rows
|
||||||
|
//any event that changes highlighting of listview should update selection display
|
||||||
|
//caret column and caret
|
||||||
//Ins/Del hotkeys for Clear and Insert # Frames (set up key listener)
|
//Ins/Del hotkeys for Clear and Insert # Frames (set up key listener)
|
||||||
//When closing tastudio, don't write the movie file? AskSave() is acceptable however
|
//When closing tastudio, don't write the movie file? AskSave() is acceptable however
|
||||||
//If null emulator do a base virtualpad so getmnemonic doesn't fail
|
//If null emulator do a base virtualpad so getmnemonic doesn't fail
|
||||||
|
@ -44,6 +50,16 @@ namespace BizHawk.MultiClient
|
||||||
TASView.VirtualMode = true;
|
TASView.VirtualMode = true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
//TODO: move me
|
||||||
|
public class ClipboardEntry
|
||||||
|
{
|
||||||
|
public int frame;
|
||||||
|
public string inputstr;
|
||||||
|
}
|
||||||
|
|
||||||
|
public List<ClipboardEntry> Clipboard = new List<ClipboardEntry>();
|
||||||
|
|
||||||
public void UpdateValues()
|
public void UpdateValues()
|
||||||
{
|
{
|
||||||
if (!this.IsHandleCreated || this.IsDisposed) return;
|
if (!this.IsHandleCreated || this.IsDisposed) return;
|
||||||
|
@ -730,5 +746,51 @@ namespace BizHawk.MultiClient
|
||||||
{
|
{
|
||||||
TruncateMovie();
|
TruncateMovie();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void CopySelectionToClipBoard()
|
||||||
|
{
|
||||||
|
Clipboard.Clear();
|
||||||
|
ListView.SelectedIndexCollection list = TASView.SelectedIndices;
|
||||||
|
for (int i = 0; i < list.Count; i++)
|
||||||
|
{
|
||||||
|
ClipboardEntry entry = new ClipboardEntry();
|
||||||
|
entry.frame = list[0];
|
||||||
|
entry.inputstr = Global.MovieSession.Movie.GetInputFrame(list[0]);
|
||||||
|
Clipboard.Add(entry);
|
||||||
|
}
|
||||||
|
UpdateSlicerDisplay();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void copyToolStripMenuItem_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
CopySelectionToClipBoard();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void UpdateSlicerDisplay()
|
||||||
|
{
|
||||||
|
ListView.SelectedIndexCollection list = TASView.SelectedIndices;
|
||||||
|
if (list.Count > 0)
|
||||||
|
{
|
||||||
|
SelectionDisplay.Text = list.Count.ToString() + " row";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
SelectionDisplay.Text = "none";
|
||||||
|
}
|
||||||
|
|
||||||
|
if (Clipboard.Count > 0)
|
||||||
|
{
|
||||||
|
ClipboardDisplay.Text = Clipboard.Count.ToString() + " row";
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
ClipboardDisplay.Text = "none";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
private void TASView_Click(object sender, EventArgs e)
|
||||||
|
{
|
||||||
|
UpdateSlicerDisplay();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue