BizHawk/BizHawk.Client.EmuHawk/config/N64/N64ControllerSettingControl.cs

95 lines
1.9 KiB
C#
Raw Normal View History

using System;
using System.Linq;
using System.Windows.Forms;
2014-07-03 17:29:01 +00:00
using BizHawk.Common.ReflectionExtensions;
using BizHawk.Emulation.Cores.Nintendo.N64;
namespace BizHawk.Client.EmuHawk
{
public partial class N64ControllerSettingControl : UserControl
{
private int _controllerNumber = 1;
public N64ControllerSettingControl()
{
InitializeComponent();
2019-03-18 14:06:37 +00:00
ControllerNameLabel.Text = $"Controller {ControllerNumber}";
}
public int ControllerNumber
{
get
{
return _controllerNumber;
}
2017-05-31 14:10:30 +00:00
set
{
_controllerNumber = value;
Refresh();
}
}
public bool IsConnected
{
get
{
return EnabledCheckbox.Checked;
}
set
{
EnabledCheckbox.Checked = value;
if (PakTypeDropdown != null) // Null check for designer
{
PakTypeDropdown.Enabled = value;
}
Refresh();
}
}
public N64SyncSettings.N64ControllerSettings.N64ControllerPakType PakType
{
get
{
if (PakTypeDropdown.SelectedItem != null) // Null check for designer
{
2014-07-03 17:35:49 +00:00
return PakTypeDropdown.SelectedItem
.ToString()
.GetEnumFromDescription<N64SyncSettings.N64ControllerSettings.N64ControllerPakType>();
}
return N64SyncSettings.N64ControllerSettings.N64ControllerPakType.NO_PAK;
}
set
{
if (PakTypeDropdown.Items.Count > 0) // Null check for designer
{
var toSelect = PakTypeDropdown.Items
.OfType<object>()
.FirstOrDefault(item => item.ToString() == value.GetDescription());
PakTypeDropdown.SelectedItem = toSelect;
Refresh();
}
}
}
public override void Refresh()
{
2019-03-18 14:06:37 +00:00
ControllerNameLabel.Text = $"Controller {ControllerNumber}";
base.Refresh();
}
private void EnabledCheckbox_CheckedChanged(object sender, EventArgs e)
{
PakTypeDropdown.Enabled = EnabledCheckbox.Checked;
}
}
}