public NesControllerSettings()
        {
            InitializeComponent();
            SyncSettings = (NES.NESSyncSettings)Global.Emulator.GetSyncSettings();

            // TODO: use combobox extension and add descriptions to enum values
            comboBoxFamicom.Items.AddRange(NESControlSettings.GetFamicomExpansionValues().ToArray());
            comboBoxNESL.Items.AddRange(NESControlSettings.GetNesPortValues().ToArray());
            comboBoxNESR.Items.AddRange(NESControlSettings.GetNesPortValues().ToArray());

            comboBoxFamicom.SelectedItem = SyncSettings.Controls.FamicomExpPort;
            comboBoxNESL.SelectedItem    = SyncSettings.Controls.NesLeftPort;
            comboBoxNESR.SelectedItem    = SyncSettings.Controls.NesRightPort;
            checkBoxFamicom.Checked      = SyncSettings.Controls.Famicom;
        }
        public NesControllerSettings(ISettingsAdapter settable)
        {
            _settable     = settable;
            _syncSettings = (NES.NESSyncSettings)_settable.GetSyncSettings();
            InitializeComponent();
            Icon = Properties.Resources.GameControllerIcon;

            // TODO: use combobox extension and add descriptions to enum values
            comboBoxFamicom.Items.AddRange(NESControlSettings.GetFamicomExpansionValues().Cast <object>().ToArray());
            comboBoxNESL.Items.AddRange(NESControlSettings.GetNesPortValues().Cast <object>().ToArray());
            comboBoxNESR.Items.AddRange(NESControlSettings.GetNesPortValues().Cast <object>().ToArray());

            comboBoxFamicom.SelectedItem = _syncSettings.Controls.FamicomExpPort;
            comboBoxNESL.SelectedItem    = _syncSettings.Controls.NesLeftPort;
            comboBoxNESR.SelectedItem    = _syncSettings.Controls.NesRightPort;
            checkBoxFamicom.Checked      = _syncSettings.Controls.Famicom;
        }
        public NesControllerSettings(
            MainForm mainForm,
            NES.NESSyncSettings syncSettings)
        {
            _mainForm     = mainForm;
            _syncSettings = syncSettings;
            InitializeComponent();

            // TODO: use combobox extension and add descriptions to enum values
            comboBoxFamicom.Items.AddRange(NESControlSettings.GetFamicomExpansionValues().ToArray());
            comboBoxNESL.Items.AddRange(NESControlSettings.GetNesPortValues().ToArray());
            comboBoxNESR.Items.AddRange(NESControlSettings.GetNesPortValues().ToArray());

            comboBoxFamicom.SelectedItem = _syncSettings.Controls.FamicomExpPort;
            comboBoxNESL.SelectedItem    = _syncSettings.Controls.NesLeftPort;
            comboBoxNESR.SelectedItem    = _syncSettings.Controls.NesRightPort;
            checkBoxFamicom.Checked      = _syncSettings.Controls.Famicom;
        }