make recent n64 plugin UI logic I added be more clever
This commit is contained in:
parent
bec12f248a
commit
bf2ba0841a
|
@ -439,6 +439,7 @@
|
|||
<Compile Include="DisplayManager\RenderTargetFrugalizer.cs" />
|
||||
<Compile Include="DisplayManager\SwappableDisplaySurfaceSet.cs" />
|
||||
<Compile Include="DisplayManager\TextureFrugalizer.cs" />
|
||||
<Compile Include="Extensions\ControlExtensions.cs" />
|
||||
<Compile Include="GlobalWin.cs" />
|
||||
<Compile Include="Input\GamePad.cs" Condition=" '$(OS)' == 'Windows_NT' " />
|
||||
<Compile Include="Input\GamePad360.cs" />
|
||||
|
|
|
@ -0,0 +1,28 @@
|
|||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using BizHawk.Common;
|
||||
|
||||
namespace BizHawk.Client.EmuHawk.ControlExtensions
|
||||
{
|
||||
public static class ControlExtensions
|
||||
{
|
||||
public static void PopulateFromEnum<T>(this ComboBox box, object enumVal)
|
||||
where T : struct, IConvertible
|
||||
{
|
||||
if (!typeof(T).IsEnum)
|
||||
{
|
||||
throw new ArgumentException("T must be an enumerated type");
|
||||
}
|
||||
|
||||
box.Items.Clear();
|
||||
box.Items.AddRange(
|
||||
EnumHelper.GetDescriptions<T>()
|
||||
.ToArray());
|
||||
box.SelectedItem = EnumHelper.GetDescription(enumVal);
|
||||
}
|
||||
}
|
||||
}
|
|
@ -3,6 +3,7 @@ using System.Collections.Generic;
|
|||
using System.Linq;
|
||||
using System.Windows.Forms;
|
||||
|
||||
using BizHawk.Client.EmuHawk.ControlExtensions;
|
||||
using BizHawk.Client.Common;
|
||||
using BizHawk.Emulation.Cores.Nintendo.N64;
|
||||
using BizHawk.Common;
|
||||
|
@ -308,19 +309,8 @@ namespace BizHawk.Client.EmuHawk
|
|||
{
|
||||
var s = GetS();
|
||||
|
||||
CoreTypeDropdown.Items.Clear();
|
||||
CoreTypeDropdown.Items.AddRange(
|
||||
EnumHelper.GetDescriptions<N64SyncSettings.CORETYPE>()
|
||||
.ToArray());
|
||||
CoreTypeDropdown.SelectedItem = EnumHelper.GetDescription(s.CoreType);
|
||||
|
||||
RspTypeDropdown.Items.Clear();
|
||||
RspTypeDropdown.Items.AddRange(
|
||||
EnumHelper.GetDescriptions<N64SyncSettings.RSPTYPE>()
|
||||
.ToArray());
|
||||
RspTypeDropdown.SelectedItem = EnumHelper.GetDescription(s.RspType);
|
||||
|
||||
|
||||
CoreTypeDropdown.PopulateFromEnum<N64SyncSettings.CORETYPE>(s.CoreType);
|
||||
RspTypeDropdown.PopulateFromEnum<N64SyncSettings.RSPTYPE>(s.RspType);
|
||||
|
||||
//Load Variables
|
||||
//Global
|
||||
|
|
Loading…
Reference in New Issue