TAStudio - right-click + mousewheel logic
This commit is contained in:
parent
4f5ce7d545
commit
a664591218
|
@ -692,6 +692,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
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.MouseDown += new System.Windows.Forms.MouseEventHandler(this.TasView_MouseDown);
|
this.TasView.MouseDown += new System.Windows.Forms.MouseEventHandler(this.TasView_MouseDown);
|
||||||
|
this.TasView.MouseWheel += new System.Windows.Forms.MouseEventHandler(this.TasView_MouseWheel);
|
||||||
this.TasView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.TasView_MouseUp);
|
this.TasView.MouseUp += new System.Windows.Forms.MouseEventHandler(this.TasView_MouseUp);
|
||||||
//
|
//
|
||||||
// Frame
|
// Frame
|
||||||
|
|
|
@ -15,6 +15,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
private float _floatPaintState;
|
private float _floatPaintState;
|
||||||
private bool _startMarkerDrag;
|
private bool _startMarkerDrag;
|
||||||
private bool _startFrameDrag;
|
private bool _startFrameDrag;
|
||||||
|
private bool _rightMouseHeld = false;
|
||||||
|
|
||||||
#region Query callbacks
|
#region Query callbacks
|
||||||
|
|
||||||
|
@ -83,35 +84,42 @@ namespace BizHawk.Client.EmuHawk
|
||||||
{
|
{
|
||||||
if (TasView.PointedCell.Row.HasValue && !string.IsNullOrEmpty(TasView.PointedCell.Column))
|
if (TasView.PointedCell.Row.HasValue && !string.IsNullOrEmpty(TasView.PointedCell.Column))
|
||||||
{
|
{
|
||||||
if (TasView.PointedCell.Column == MarkerColumnName)
|
if (e.Button == MouseButtons.Left)
|
||||||
{
|
{
|
||||||
_startMarkerDrag = true;
|
if (TasView.PointedCell.Column == MarkerColumnName)
|
||||||
GoToFrame(TasView.PointedCell.Row.Value - 1);
|
|
||||||
}
|
|
||||||
else if (TasView.PointedCell.Column == FrameColumnName)
|
|
||||||
{
|
|
||||||
_startFrameDrag = true;
|
|
||||||
}
|
|
||||||
else
|
|
||||||
{
|
|
||||||
var frame = TasView.PointedCell.Row.Value;
|
|
||||||
var buttonName = TasView.PointedCell.Column;
|
|
||||||
|
|
||||||
if (Global.MovieSession.MovieControllerAdapter.Type.BoolButtons.Contains(buttonName))
|
|
||||||
{
|
{
|
||||||
_tas.ToggleBoolState(TasView.PointedCell.Row.Value, TasView.PointedCell.Column);
|
_startMarkerDrag = true;
|
||||||
GoToLastEmulatedFrameIfNecessary(TasView.PointedCell.Row.Value);
|
GoToFrame(TasView.PointedCell.Row.Value - 1);
|
||||||
TasView.Refresh();
|
}
|
||||||
|
else if (TasView.PointedCell.Column == FrameColumnName)
|
||||||
_startBoolDrawColumn = TasView.PointedCell.Column;
|
{
|
||||||
_boolPaintState = _tas.BoolIsPressed(frame, buttonName);
|
_startFrameDrag = true;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
_startFloatDrawColumn = TasView.PointedCell.Column;
|
var frame = TasView.PointedCell.Row.Value;
|
||||||
_floatPaintState = _tas.GetFloatValue(frame, buttonName);
|
var buttonName = TasView.PointedCell.Column;
|
||||||
|
|
||||||
|
if (Global.MovieSession.MovieControllerAdapter.Type.BoolButtons.Contains(buttonName))
|
||||||
|
{
|
||||||
|
_tas.ToggleBoolState(TasView.PointedCell.Row.Value, TasView.PointedCell.Column);
|
||||||
|
GoToLastEmulatedFrameIfNecessary(TasView.PointedCell.Row.Value);
|
||||||
|
TasView.Refresh();
|
||||||
|
|
||||||
|
_startBoolDrawColumn = TasView.PointedCell.Column;
|
||||||
|
_boolPaintState = _tas.BoolIsPressed(frame, buttonName);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
_startFloatDrawColumn = TasView.PointedCell.Column;
|
||||||
|
_floatPaintState = _tas.GetFloatValue(frame, buttonName);
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
else if (e.Button == MouseButtons.Right)
|
||||||
|
{
|
||||||
|
_rightMouseHeld = true;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -122,6 +130,7 @@ namespace BizHawk.Client.EmuHawk
|
||||||
_startBoolDrawColumn = string.Empty;
|
_startBoolDrawColumn = string.Empty;
|
||||||
_startFloatDrawColumn = string.Empty;
|
_startFloatDrawColumn = string.Empty;
|
||||||
_floatPaintState = 0;
|
_floatPaintState = 0;
|
||||||
|
_rightMouseHeld = false;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void TasView_PointedCellChanged(object sender, TasListView.CellEventArgs e)
|
private void TasView_PointedCellChanged(object sender, TasListView.CellEventArgs e)
|
||||||
|
@ -183,6 +192,21 @@ namespace BizHawk.Client.EmuHawk
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private void TasView_MouseWheel(object sender, MouseEventArgs e)
|
||||||
|
{
|
||||||
|
if (_rightMouseHeld)
|
||||||
|
{
|
||||||
|
if (e.Delta < 0)
|
||||||
|
{
|
||||||
|
GoToFrame(Global.Emulator.Frame);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
GoToFrame(Global.Emulator.Frame - 2);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
private void TasView_SelectedIndexChanged(object sender, EventArgs e)
|
private void TasView_SelectedIndexChanged(object sender, EventArgs e)
|
||||||
{
|
{
|
||||||
SetSplicer();
|
SetSplicer();
|
||||||
|
|
Loading…
Reference in New Issue