TAStudio - rip out uneeded stuff

This commit is contained in:
adelikat 2014-08-23 16:00:56 +00:00
parent 0893daff71
commit 3e80e59f2d
6 changed files with 58 additions and 90 deletions

View File

@ -80,12 +80,6 @@ namespace BizHawk.Client.EmuHawk.WinFormExtensions
return listView.SelectedIndices.Cast<int>(); return listView.SelectedIndices.Cast<int>();
} }
// TODO: remove me
public static IEnumerable<int> SelectedIndices(this InputRoll listView)
{
return listView.SelectedIndices;
}
#endregion #endregion
} }

View File

@ -87,20 +87,6 @@ namespace BizHawk.Client.EmuHawk
[Category("Behavior")] [Category("Behavior")]
public int CellPadding { get; set; } public int CellPadding { get; set; }
// TODO: remove these, it is put here for more convenient replacing of a virtuallistview in tools and minimize the amount of code to refactor, but these properties are useless
public bool VirtualMode { get; set; }
public bool BlazingFast { get; set; }
public bool SelectAllInProgress { get; set; }
public System.Windows.Forms.View View { get; set; }
public int selectedItem { get; set; }
public void ensureVisible(int val)
{
LastVisibleIndex = val;
}
// ********************************************************
// TODO: implement this // TODO: implement this
/// <summary> /// <summary>
/// Displays grid lines around cells /// Displays grid lines around cells
@ -280,6 +266,23 @@ namespace BizHawk.Client.EmuHawk
} }
} }
[Browsable(false)]
[DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Hidden)]
public int? FirstSelectedIndex
{
get
{
if (SelectedIndices.Any())
{
return SelectedIndices
.OrderBy(x => x)
.First();
}
return null;
}
}
[Browsable(false)] [Browsable(false)]
[DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Hidden)] [DesignerSerializationVisibilityAttribute(DesignerSerializationVisibility.Hidden)]
public int? LastSelectedIndex public int? LastSelectedIndex

View File

@ -695,7 +695,6 @@ namespace BizHawk.Client.EmuHawk
this.TasView.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) this.TasView.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.TasView.BlazingFast = false;
this.TasView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] { this.TasView.Columns.AddRange(new System.Windows.Forms.ColumnHeader[] {
this.Frame, this.Frame,
this.Log}); this.Log});
@ -707,12 +706,9 @@ namespace BizHawk.Client.EmuHawk
this.TasView.Location = new System.Drawing.Point(8, 27); this.TasView.Location = new System.Drawing.Point(8, 27);
this.TasView.Name = "TasView"; this.TasView.Name = "TasView";
this.TasView.RightButtonHeld = false; this.TasView.RightButtonHeld = false;
this.TasView.SelectAllInProgress = false;
this.TasView.selectedItem = -1;
this.TasView.Size = new System.Drawing.Size(288, 471); this.TasView.Size = new System.Drawing.Size(288, 471);
this.TasView.TabIndex = 1; this.TasView.TabIndex = 1;
this.TasView.UseCustomBackground = true; this.TasView.UseCustomBackground = true;
this.TasView.View = System.Windows.Forms.View.Details;
this.TasView.RightMouseScrolled += new BizHawk.Client.EmuHawk.InputRoll.RightMouseScrollEventHandler(this.TasView_MouseWheel); this.TasView.RightMouseScrolled += new BizHawk.Client.EmuHawk.InputRoll.RightMouseScrollEventHandler(this.TasView_MouseWheel);
this.TasView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.TasView_ColumnClick); this.TasView.ColumnClick += new System.Windows.Forms.ColumnClickEventHandler(this.TasView_ColumnClick);
this.TasView.SelectedIndexChanged += new System.EventHandler(this.TasView_SelectedIndexChanged); this.TasView.SelectedIndexChanged += new System.EventHandler(this.TasView_SelectedIndexChanged);

View File

@ -14,11 +14,11 @@ namespace BizHawk.Client.EmuHawk
if (_currentTasMovie.IsRecording) if (_currentTasMovie.IsRecording)
{ {
TasView.ensureVisible(_currentTasMovie.InputLogLength - 1); TasView.LastVisibleIndex = _currentTasMovie.InputLogLength - 1;
} }
else else
{ {
TasView.ensureVisible(Global.Emulator.Frame); TasView.LastVisibleIndex = Global.Emulator.Frame;
} }
RefreshDialog(); RefreshDialog();

View File

@ -164,7 +164,7 @@ namespace BizHawk.Client.EmuHawk
private void TasView_ColumnClick(object sender, ColumnClickEventArgs e) private void TasView_ColumnClick(object sender, ColumnClickEventArgs e)
{ {
if (TasView.SelectedIndices().Any()) if (TasView.SelectedIndices.Any())
{ {
var columnName = TasView.Columns[e.Column].Name; var columnName = TasView.Columns[e.Column].Name;
@ -174,7 +174,7 @@ namespace BizHawk.Client.EmuHawk
} }
else if (columnName != MarkerColumnName) // TODO: what about float? else if (columnName != MarkerColumnName) // TODO: what about float?
{ {
foreach (var index in TasView.SelectedIndices()) foreach (var index in TasView.SelectedIndices)
{ {
ToggleBoolState(index, columnName); ToggleBoolState(index, columnName);
} }
@ -239,7 +239,7 @@ namespace BizHawk.Client.EmuHawk
if (TasView.SelectedIndices.IndexOf(frame) != -1 && (buttonName == MarkerColumnName || buttonName == FrameColumnName)) if (TasView.SelectedIndices.IndexOf(frame) != -1 && (buttonName == MarkerColumnName || buttonName == FrameColumnName))
{ {
//Disable the option to remove markers if no markers are selected (FCUEX does this). //Disable the option to remove markers if no markers are selected (FCUEX does this).
RemoveMarkersContextMenuItem.Enabled = _currentTasMovie.Markers.Any(m => TasView.SelectedIndices().Contains(m.Frame)); RemoveMarkersContextMenuItem.Enabled = _currentTasMovie.Markers.Any(m => TasView.SelectedIndices.Contains(m.Frame));
RightClickMenu.Show(TasView, e.X, e.Y); RightClickMenu.Show(TasView, e.X, e.Y);
} }
} }

View File

@ -35,29 +35,6 @@ namespace BizHawk.Client.EmuHawk
return (lg as Bk2LogEntryGenerator).Map(); return (lg as Bk2LogEntryGenerator).Map();
} }
// Indices Helpers
private int FirstSelectedIndex
{
get
{
return TasView.SelectedIndices
.OfType<int>()
.OrderBy(frame => frame)
.First();
}
}
private int LastSelectedIndex
{
get
{
return TasView.SelectedIndices
.OfType<int>()
.OrderBy(frame => frame)
.Last();
}
}
public TasMovie CurrentMovie public TasMovie CurrentMovie
{ {
get { return _currentTasMovie; } get { return _currentTasMovie; }
@ -77,7 +54,6 @@ namespace BizHawk.Client.EmuHawk
MarkerControl.Tastudio = this; MarkerControl.Tastudio = this;
TasView.QueryItemText += TasView_QueryItemText; TasView.QueryItemText += TasView_QueryItemText;
TasView.QueryItemBkColor += TasView_QueryItemBkColor; TasView.QueryItemBkColor += TasView_QueryItemBkColor;
TasView.VirtualMode = true;
TopMost = Global.Config.TAStudioSettings.TopMost; TopMost = Global.Config.TAStudioSettings.TopMost;
TasView.InputPaintingMode = Global.Config.TAStudioDrawInput; TasView.InputPaintingMode = Global.Config.TAStudioDrawInput;
@ -173,10 +149,9 @@ namespace BizHawk.Client.EmuHawk
public void RefreshDialog() public void RefreshDialog()
{ {
TasView.BlazingFast = true;
TasView.ItemCount = _currentTasMovie.InputLogLength + 1; TasView.ItemCount = _currentTasMovie.InputLogLength + 1;
TasView.Refresh(); TasView.Refresh();
TasView.BlazingFast = false;
if (MarkerControl != null) if (MarkerControl != null)
{ {
MarkerControl.Refresh(); MarkerControl.Refresh();
@ -276,7 +251,7 @@ namespace BizHawk.Client.EmuHawk
} }
GlobalWin.DisplayManager.NeedsToPaint = true; GlobalWin.DisplayManager.NeedsToPaint = true;
TasView.ensureVisible(frame); TasView.LastVisibleIndex = frame;
} }
else//Goto last emulated frame, then unpause until we reach frame else//Goto last emulated frame, then unpause until we reach frame
{ {
@ -295,7 +270,7 @@ namespace BizHawk.Client.EmuHawk
Global.Emulator.LoadStateBinary(new BinaryReader(new MemoryStream(_currentTasMovie[goToFrame].State.ToArray()))); Global.Emulator.LoadStateBinary(new BinaryReader(new MemoryStream(_currentTasMovie[goToFrame].State.ToArray())));
Global.Emulator.FrameAdvance(true); Global.Emulator.FrameAdvance(true);
GlobalWin.DisplayManager.NeedsToPaint = true; GlobalWin.DisplayManager.NeedsToPaint = true;
TasView.ensureVisible(frame); TasView.LastVisibleIndex = frame;
} }
else // TODO: this assume that there are no "gaps", instead of last emulated frame, we should do last frame from X else // TODO: this assume that there are no "gaps", instead of last emulated frame, we should do last frame from X
{ {
@ -529,7 +504,7 @@ namespace BizHawk.Client.EmuHawk
DeleteFramesMenuItem.Enabled = DeleteFramesMenuItem.Enabled =
CloneMenuItem.Enabled = CloneMenuItem.Enabled =
TruncateMenuItem.Enabled = TruncateMenuItem.Enabled =
TasView.SelectedIndices().Any(); TasView.SelectedIndices.Any();
ReselectClipboardMenuItem.Enabled = ReselectClipboardMenuItem.Enabled =
PasteMenuItem.Enabled = PasteMenuItem.Enabled =
PasteInsertMenuItem.Enabled = PasteInsertMenuItem.Enabled =
@ -548,10 +523,10 @@ namespace BizHawk.Client.EmuHawk
private void SelectBetweenMarkersMenuItem_Click(object sender, EventArgs e) private void SelectBetweenMarkersMenuItem_Click(object sender, EventArgs e)
{ {
if (TasView.SelectedIndices().Any()) if (TasView.SelectedIndices.Any())
{ {
var prevMarker = _currentTasMovie.Markers.PreviousOrCurrent(LastSelectedIndex); var prevMarker = _currentTasMovie.Markers.PreviousOrCurrent(TasView.LastSelectedIndex.Value);
var nextMarker = _currentTasMovie.Markers.Next(LastSelectedIndex); var nextMarker = _currentTasMovie.Markers.Next(TasView.LastSelectedIndex.Value);
int prev = prevMarker != null ? prevMarker.Frame : 0; int prev = prevMarker != null ? prevMarker.Frame : 0;
int next = nextMarker != null ? nextMarker.Frame : _currentTasMovie.InputLogLength; int next = nextMarker != null ? nextMarker.Frame : _currentTasMovie.InputLogLength;
@ -574,7 +549,7 @@ namespace BizHawk.Client.EmuHawk
private void CopyMenuItem_Click(object sender, EventArgs e) private void CopyMenuItem_Click(object sender, EventArgs e)
{ {
if (TasView.SelectedIndices().Any()) if (TasView.SelectedIndices.Any())
{ {
_tasClipboard.Clear(); _tasClipboard.Clear();
var list = TasView.SelectedIndices; var list = TasView.SelectedIndices;
@ -600,13 +575,13 @@ namespace BizHawk.Client.EmuHawk
// FCEUX Taseditor does't do this, but I think it is the expected behavior in editor programs // FCEUX Taseditor does't do this, but I think it is the expected behavior in editor programs
if (_tasClipboard.Any()) if (_tasClipboard.Any())
{ {
var needsToRollback = !(FirstSelectedIndex > Global.Emulator.Frame); var needsToRollback = !(TasView.FirstSelectedIndex > Global.Emulator.Frame);
_currentTasMovie.CopyOverInput(FirstSelectedIndex, _tasClipboard.Select(x => x.ControllerState)); _currentTasMovie.CopyOverInput(TasView.FirstSelectedIndex.Value, _tasClipboard.Select(x => x.ControllerState));
if (needsToRollback) if (needsToRollback)
{ {
GoToFrame(FirstSelectedIndex); GoToFrame(TasView.FirstSelectedIndex.Value);
} }
else else
{ {
@ -619,13 +594,13 @@ namespace BizHawk.Client.EmuHawk
{ {
if (_tasClipboard.Any()) if (_tasClipboard.Any())
{ {
var needsToRollback = !(FirstSelectedIndex > Global.Emulator.Frame); var needsToRollback = !(TasView.FirstSelectedIndex > Global.Emulator.Frame);
_currentTasMovie.InsertInput(FirstSelectedIndex, _tasClipboard.Select(x => x.ControllerState)); _currentTasMovie.InsertInput(TasView.FirstSelectedIndex.Value, _tasClipboard.Select(x => x.ControllerState));
if (needsToRollback) if (needsToRollback)
{ {
GoToFrame(FirstSelectedIndex); GoToFrame(TasView.FirstSelectedIndex.Value);
} }
else else
{ {
@ -636,13 +611,13 @@ namespace BizHawk.Client.EmuHawk
private void CutMenuItem_Click(object sender, EventArgs e) private void CutMenuItem_Click(object sender, EventArgs e)
{ {
if (TasView.SelectedIndices().Any()) if (TasView.SelectedIndices.Any())
{ {
var needsToRollback = !(FirstSelectedIndex > Global.Emulator.Frame); var needsToRollback = !(TasView.FirstSelectedIndex.Value > Global.Emulator.Frame);
var rollBackFrame = FirstSelectedIndex; var rollBackFrame = TasView.FirstSelectedIndex.Value;
_tasClipboard.Clear(); _tasClipboard.Clear();
var list = TasView.SelectedIndices().ToArray(); var list = TasView.SelectedIndices.ToArray();
var sb = new StringBuilder(); var sb = new StringBuilder();
for (var i = 0; i < list.Length; i++) for (var i = 0; i < list.Length; i++)
{ {
@ -671,12 +646,12 @@ namespace BizHawk.Client.EmuHawk
private void ClearMenuItem_Click(object sender, EventArgs e) private void ClearMenuItem_Click(object sender, EventArgs e)
{ {
if (TasView.SelectedIndices().Any()) if (TasView.SelectedIndices.Any())
{ {
var needsToRollback = !(FirstSelectedIndex > Global.Emulator.Frame); var needsToRollback = !(TasView.FirstSelectedIndex > Global.Emulator.Frame);
var rollBackFrame = FirstSelectedIndex; var rollBackFrame = TasView.FirstSelectedIndex.Value;
foreach (var frame in TasView.SelectedIndices()) foreach (var frame in TasView.SelectedIndices)
{ {
_currentTasMovie.ClearFrame(frame); _currentTasMovie.ClearFrame(frame);
} }
@ -694,13 +669,13 @@ namespace BizHawk.Client.EmuHawk
private void DeleteFramesMenuItem_Click(object sender, EventArgs e) private void DeleteFramesMenuItem_Click(object sender, EventArgs e)
{ {
if (TasView.SelectedIndices().Any()) if (TasView.SelectedIndices.Any())
{ {
var needsToRollback = !(FirstSelectedIndex > Global.Emulator.Frame); var needsToRollback = !(TasView.FirstSelectedIndex > Global.Emulator.Frame);
var rollBackFrame = FirstSelectedIndex; var rollBackFrame = TasView.FirstSelectedIndex.Value;
_tasClipboard.Clear(); _tasClipboard.Clear();
_currentTasMovie.RemoveFrames(TasView.SelectedIndices().ToArray()); _currentTasMovie.RemoveFrames(TasView.SelectedIndices.ToArray());
SetSplicer(); SetSplicer();
TasView.DeselectAll(); TasView.DeselectAll();
@ -717,10 +692,10 @@ namespace BizHawk.Client.EmuHawk
private void CloneMenuItem_Click(object sender, EventArgs e) private void CloneMenuItem_Click(object sender, EventArgs e)
{ {
if (TasView.SelectedIndices().Any()) if (TasView.SelectedIndices.Any())
{ {
var framesToInsert = TasView.SelectedIndices().ToList(); var framesToInsert = TasView.SelectedIndices.ToList();
var insertionFrame = LastSelectedIndex + 1; var insertionFrame = TasView.LastSelectedIndex.Value + 1;
var needsToRollback = !(insertionFrame > Global.Emulator.Frame); var needsToRollback = !(insertionFrame > Global.Emulator.Frame);
var inputLog = new List<string>(); var inputLog = new List<string>();
@ -744,7 +719,7 @@ namespace BizHawk.Client.EmuHawk
private void InsertFrameMenuItem_Click(object sender, EventArgs e) private void InsertFrameMenuItem_Click(object sender, EventArgs e)
{ {
var insertionFrame = TasView.SelectedIndices().Any() ? FirstSelectedIndex : 0; var insertionFrame = TasView.SelectedIndices.Any() ? TasView.FirstSelectedIndex.Value : 0;
bool needsToRollback = insertionFrame <= Global.Emulator.Frame; bool needsToRollback = insertionFrame <= Global.Emulator.Frame;
_currentTasMovie.InsertEmptyFrame(insertionFrame); _currentTasMovie.InsertEmptyFrame(insertionFrame);
@ -761,7 +736,7 @@ namespace BizHawk.Client.EmuHawk
private void InsertNumFramesMenuItem_Click(object sender, EventArgs e) private void InsertNumFramesMenuItem_Click(object sender, EventArgs e)
{ {
var insertionFrame = TasView.SelectedIndices().Any() ? FirstSelectedIndex : 0; var insertionFrame = TasView.SelectedIndices.Any() ? TasView.FirstSelectedIndex.Value : 0;
bool needsToRollback = insertionFrame <= Global.Emulator.Frame; bool needsToRollback = insertionFrame <= Global.Emulator.Frame;
var framesPrompt = new FramesPrompt(); var framesPrompt = new FramesPrompt();
@ -783,12 +758,12 @@ namespace BizHawk.Client.EmuHawk
private void TruncateMenuItem_Click(object sender, EventArgs e) private void TruncateMenuItem_Click(object sender, EventArgs e)
{ {
if (TasView.SelectedIndices().Any()) if (TasView.SelectedIndices.Any())
{ {
var rollbackFrame = LastSelectedIndex + 1; var rollbackFrame = TasView.LastSelectedIndex.Value + 1;
var needsToRollback = !(rollbackFrame > Global.Emulator.Frame); var needsToRollback = !(rollbackFrame > Global.Emulator.Frame);
_currentTasMovie.Truncate(LastSelectedIndex + 1); _currentTasMovie.Truncate(rollbackFrame);
if (needsToRollback) if (needsToRollback)
{ {
@ -803,7 +778,7 @@ namespace BizHawk.Client.EmuHawk
private void SetMarkersMenuItem_Click(object sender, EventArgs e) private void SetMarkersMenuItem_Click(object sender, EventArgs e)
{ {
foreach(int index in TasView.SelectedIndices()) foreach(int index in TasView.SelectedIndices)
{ {
CallAddMarkerPopUp(index); CallAddMarkerPopUp(index);
} }
@ -812,7 +787,7 @@ namespace BizHawk.Client.EmuHawk
private void RemoveMarkersMenuItem_Click(object sender, EventArgs e) private void RemoveMarkersMenuItem_Click(object sender, EventArgs e)
{ {
_currentTasMovie.Markers.RemoveAll(m => TasView.SelectedIndices().Contains(m.Frame)); _currentTasMovie.Markers.RemoveAll(m => TasView.SelectedIndices.Contains(m.Frame));
RefreshDialog(); RefreshDialog();
} }