private void frmCamera_Load(object sender, EventArgs e) { // Init GUI // reset button colors foreach (var b in _btIndex) { b.BackColor = c_vPassive; } foreach (var b in _btMode) { b.Value.Button.BackColor = c_vPassive; } foreach (var b in _btSlotFolder) { b.ForeColor = c_sfPassive; } // Load AppSettings A..F - clumsy but the settings are by SlotFolder and not all in one SlotCat.SlotFolders[0].AppSettingString = AppSettings.Instance.CameraSlotFolder0; SlotCat.SlotFolders[1].AppSettingString = AppSettings.Instance.CameraSlotFolder1; SlotCat.SlotFolders[2].AppSettingString = AppSettings.Instance.CameraSlotFolder2; SlotCat.SlotFolders[3].AppSettingString = AppSettings.Instance.CameraSlotFolder3; SlotCat.SlotFolders[4].AppSettingString = AppSettings.Instance.CameraSlotFolder4; SlotCat.SlotFolders[5].AppSettingString = AppSettings.Instance.CameraSlotFolder5; // Enable SlotFolder A SlotCat.SetActiveSlotFolder(0); _btSlotFolder[SlotCat.CurrentSlotFolder.SlotFolderNo].ForeColor = c_sfActive; lblSaveStar.Visible = false; }
/// <summary> /// Init the SlotFolders /// </summary> public static void InitSlotFolders(List <Button> buttons, Action <CameraSetting, uint> switchCam) { for (int i = 0; i < _slotFolders.Length; i++) { _slotFolders[i] = new SlotCat((uint)i); // create an empty slot for each button uint slotNo = 0; foreach (var slotButton in buttons) { _slotFolders[i].Add(slotNo++, slotButton, switchCam); } } }
// Make a SlotFolder current private void btSlotFolder_Click(object sender, EventArgs e) { if (!(sender is Button)) { return; } var bt = sender as Button; var index = _btSlotFolder.FindIndex(x => x.Name == bt.Name); if (index >= 0) { _btSlotFolder[SlotCat.CurrentSlotFolder.SlotFolderNo].ForeColor = c_sfPassive; SlotCat.SetActiveSlotFolder((uint)index); _btSlotFolder[SlotCat.CurrentSlotFolder.SlotFolderNo].ForeColor = c_sfActive; } }
public static void SetActiveSlotFolder(uint slotFolder) { // sanity if (slotFolder >= _slotFolders.Length) { return; } // disable all - may optimise to only disable Current... for (int i = 0; i < _slotFolders.Length; i++) { _slotFolders[i].SetEState(false); } // set active Folder _slotFolders[slotFolder].SetEState(true); CurrentSlotFolder = _slotFolders[slotFolder]; }
public frmCamera( ) { InitializeComponent( ); // Load Lists and Catalogs _btMode = new Dictionary <CameraSetting, ModeButton>( ) { { CameraSetting.NONE, new ModeButton(CameraSetting.NONE, new Button() /*a dummy one*/, SwitchCamera) }, { CameraSetting.Cockpit_Pilot, new ModeButton(CameraSetting.Cockpit_Pilot, btPilotView, SwitchCamera) }, { CameraSetting.Cockpit_Instrument, new ModeButton(CameraSetting.Cockpit_Instrument, btInstrumentView, SwitchCamera) }, { CameraSetting.Cockpit_Quick, new ModeButton(CameraSetting.Cockpit_Quick, btCockpitQuick, SwitchCamera) }, { CameraSetting.Cockpit_Custom, new ModeButton(CameraSetting.Cockpit_Custom, btCustomView, SwitchCamera) }, { CameraSetting.Ext_Default, new ModeButton(CameraSetting.Ext_Default, btExternal, SwitchCamera) }, { CameraSetting.Ext_Quick, new ModeButton(CameraSetting.Ext_Quick, btExternalQuick, SwitchCamera) }, { CameraSetting.ShCase_Drone, new ModeButton(CameraSetting.ShCase_Drone, btDrone, SwitchCamera) }, { CameraSetting.ShCase_Fixed, new ModeButton(CameraSetting.ShCase_Fixed, btShowcase, SwitchCamera) }, }; _btIndex = new List <Button> { btIndex01, btIndex02, btIndex03, btIndex04, btIndex05, btIndex06, btIndex07, btIndex08, btIndex09, btIndex10, btIndex11, btIndex12, btIndex13, btIndex14, btIndex15, btIndex16, btIndex17, btIndex18, btIndex19, btIndex20, btIndex21, btIndex22, btIndex23, btIndex24, btIndex25, btIndex26, btIndex27, btIndex28 }; _btSlot = new List <Button> { btSlot01, btSlot02, btSlot03, btSlot04, btSlot05, btSlot06, btSlot07, btSlot08, btSlot09, btSlot10 }; _btSlotFolder = new List <Button> { btSlotFolderA, btSlotFolderB, btSlotFolderC, btSlotFolderD, btSlotFolderE, btSlotFolderF }; // Starred Slots init SlotCat.InitSlotFolders(_btSlot, SwitchCamera); // get save confirmation callback foreach (var slotFolder in SlotCat.SlotFolders) { slotFolder.SlotSaved += _slots_SlotSaved; } }