fix new bugs in hotkey/input binding process

This commit is contained in:
zeromus 2014-04-22 19:23:52 +00:00
parent edfc5d303f
commit bb98f7d5b0
4 changed files with 13 additions and 4 deletions

View File

@ -110,7 +110,7 @@ namespace BizHawk.Client.EmuHawk
Width = iwOffsetX - 2,
};
var w = new InputWidget
var w = new InputCompositeWidget
{
Bindings = b.Bindings,
Location = new Point(_x + iwOffsetX, _y + iwOffsetY),

View File

@ -44,7 +44,7 @@
this.btnSpecial.Margin = new System.Windows.Forms.Padding(2, 0, 0, 0);
this.btnSpecial.Name = "btnSpecial";
this.btnSpecial.Size = new System.Drawing.Size(20, 20);
this.btnSpecial.TabIndex = 6;
this.btnSpecial.TabIndex = 2;
this.btnSpecial.UseVisualStyleBackColor = true;
this.btnSpecial.Click += new System.EventHandler(this.btnSpecial_Click);
//
@ -74,7 +74,7 @@
this.widget.Margin = new System.Windows.Forms.Padding(0);
this.widget.Name = "widget";
this.widget.Size = new System.Drawing.Size(470, 20);
this.widget.TabIndex = 8;
this.widget.TabIndex = 1;
this.widget.Text = "button1";
this.widget.WidgetName = null;
//

View File

@ -25,6 +25,13 @@ namespace BizHawk.Client.EmuHawk
}
btnSpecial.ContextMenuStrip = DropdownMenu;
widget.CompositeWidget = this;
}
public void TabNext()
{
Parent.SelectNextControl(btnSpecial, true, true, true, true);
}
ContextMenuStrip DropdownMenu;

View File

@ -17,6 +17,8 @@ namespace BizHawk.Client.EmuHawk
private int _pos; // Which mapping the widget will listen for
private string _wasPressed = string.Empty;
public InputCompositeWidget CompositeWidget;
/// <summary>
/// These bindings get ignored by the widget and can only be entered by SetBinding() via the contextmenu from the InputCompositeWidget
/// </summary>
@ -200,7 +202,7 @@ namespace BizHawk.Client.EmuHawk
{
if (AutoTab)
{
Parent.SelectNextControl(this, true, true, true, true);
CompositeWidget.TabNext();
}
else
{