private void UpdateOpModeControls() { WiseSite.OpMode currentMode = WiseSite.OperationalMode; List <ToolStripMenuItem> items = new List <ToolStripMenuItem>() { wISEToolStripMenuItem, lCOToolStripMenuItem, aCPToolStripMenuItem, }; foreach (var item in items) { if (item.Text.EndsWith(Const.checkmark)) { item.Text = item.Text.Substring(0, item.Text.Length - Const.checkmark.Length); } } ToolStripMenuItem selected = null; switch (currentMode) { case WiseSite.OpMode.LCO: selected = lCOToolStripMenuItem; break; case WiseSite.OpMode.ACP: selected = aCPToolStripMenuItem; break; case WiseSite.OpMode.WISE: selected = wISEToolStripMenuItem; break; } if (selected != null) { selected.Text += Const.checkmark; } labelOperatingMode.Text = currentMode.ToString(); }
/// <summary> /// Read the device configuration from the ASCOM Profile store /// </summary> internal void ReadProfile() { WiseSite.OpMode opMode = WiseSite.OperationalMode; using (Profile driverProfile = new Profile()) { driverProfile.DeviceType = "Telescope"; switch (opMode) { case WiseSite.OpMode.LCO: WiseTele._enslaveDome = true; break; case WiseSite.OpMode.WISE: WiseTele._enslaveDome = Convert.ToBoolean(driverProfile.GetValue(Const.wiseTelescopeDriverID, Const.ProfileName.Telescope_EnslaveDome, string.Empty, "false")); break; case WiseSite.OpMode.ACP: WiseTele._enslaveDome = false; break; } WiseSite.astrometricAccuracy = driverProfile.GetValue(Const.wiseTelescopeDriverID, Const.ProfileName.Telescope_AstrometricAccuracy, string.Empty, "Full") == "Full" ? Accuracy.Full : Accuracy.Reduced; } }
private void SelectOpMode(object sender, EventArgs e) { ToolStripMenuItem selectedItem = sender as ToolStripMenuItem; WiseSite.OpMode mode = (selectedItem == wISEToolStripMenuItem) ? WiseSite.OpMode.WISE : (selectedItem == lCOToolStripMenuItem) ? WiseSite.OpMode.LCO : WiseSite.OpMode.ACP; WiseSite.OperationalMode = mode; UpdateOpModeControls(); CloseConnections(); KillWise40Apps(); }