N64 controller setting control - make it not throw null exceptions in the designer

This commit is contained in:
adelikat 2014-05-17 13:00:03 +00:00
parent d65157fa4b
commit 82cb57fb29
2 changed files with 28 additions and 10 deletions

View File

@ -49,9 +49,11 @@ namespace BizHawk.Client.EmuHawk
set
{
EnabledCheckbox.Checked =
PakTypeDropdown.Enabled =
value;
EnabledCheckbox.Checked = value;
if (PakTypeDropdown != null) // Null check for designer
{
PakTypeDropdown.Enabled = value;
}
Refresh();
}
@ -61,18 +63,26 @@ namespace BizHawk.Client.EmuHawk
{
get
{
return EnumHelper.GetValueFromDescription<N64ControllerSettings.N64ControllerPakType>(
PakTypeDropdown.SelectedItem.ToString());
if (PakTypeDropdown.SelectedItem != null) // Null check for designer
{
return EnumHelper.GetValueFromDescription<N64ControllerSettings.N64ControllerPakType>(
PakTypeDropdown.SelectedItem.ToString());
}
return N64ControllerSettings.N64ControllerPakType.NO_PAK;
}
set
{
var toSelect = PakTypeDropdown.Items
.OfType<object>()
.FirstOrDefault(item => item.ToString() == EnumHelper.GetDescription(value));
PakTypeDropdown.SelectedItem = toSelect;
if (PakTypeDropdown.Items.Count > 0 && PakTypeDropdown.SelectedItem != null) // Null check for designer
{
var toSelect = PakTypeDropdown.Items
.OfType<object>()
.FirstOrDefault(item => item.ToString() == EnumHelper.GetDescription(value));
PakTypeDropdown.SelectedItem = toSelect;
Refresh();
Refresh();
}
}
}

View File

@ -63,32 +63,40 @@
// ControllerSetting4
//
this.ControllerSetting4.ControllerNumber = 4;
this.ControllerSetting4.IsConnected = false;
this.ControllerSetting4.Location = new System.Drawing.Point(12, 114);
this.ControllerSetting4.Name = "ControllerSetting4";
this.ControllerSetting4.PakType = BizHawk.Emulation.Cores.Nintendo.N64.N64ControllerSettings.N64ControllerPakType.NO_PAK;
this.ControllerSetting4.Size = new System.Drawing.Size(291, 28);
this.ControllerSetting4.TabIndex = 5;
//
// ControllerSetting3
//
this.ControllerSetting3.ControllerNumber = 3;
this.ControllerSetting3.IsConnected = false;
this.ControllerSetting3.Location = new System.Drawing.Point(12, 80);
this.ControllerSetting3.Name = "ControllerSetting3";
this.ControllerSetting3.PakType = BizHawk.Emulation.Cores.Nintendo.N64.N64ControllerSettings.N64ControllerPakType.NO_PAK;
this.ControllerSetting3.Size = new System.Drawing.Size(291, 28);
this.ControllerSetting3.TabIndex = 4;
//
// ControllerSetting2
//
this.ControllerSetting2.ControllerNumber = 2;
this.ControllerSetting2.IsConnected = false;
this.ControllerSetting2.Location = new System.Drawing.Point(12, 46);
this.ControllerSetting2.Name = "ControllerSetting2";
this.ControllerSetting2.PakType = BizHawk.Emulation.Cores.Nintendo.N64.N64ControllerSettings.N64ControllerPakType.NO_PAK;
this.ControllerSetting2.Size = new System.Drawing.Size(291, 28);
this.ControllerSetting2.TabIndex = 3;
//
// ControllerSetting1
//
this.ControllerSetting1.ControllerNumber = 1;
this.ControllerSetting1.IsConnected = false;
this.ControllerSetting1.Location = new System.Drawing.Point(12, 12);
this.ControllerSetting1.Name = "ControllerSetting1";
this.ControllerSetting1.PakType = BizHawk.Emulation.Cores.Nintendo.N64.N64ControllerSettings.N64ControllerPakType.NO_PAK;
this.ControllerSetting1.Size = new System.Drawing.Size(291, 28);
this.ControllerSetting1.TabIndex = 2;
//