Esempio n. 1
0
 /// <summary>
 /// 加载指定项
 /// </summary>
 /// <param name="item"></param>
 public void LoadItem(SettingItems item)
 {
     if (Device.Connect.IsConnected)
     {
         this.SettingTask.StartTask(item);
     }
 }
Esempio n. 2
0
 public void SaveLanguage(LangCode code, Action onSuccess, Action <string> onError)
 {
     WrapErr.ToErrReport(9999, () => {
         ErrReport report;
         WrapErr.ToErrReport(out report, 9999, () => {
             this.languages.SetCurrentLanguage(code);
             SettingItems items = this.settings.ReadObjectFromDefaultFile();
             items.Language     = code;
             items.LanguageName = this.languages.CurrentLanguage.Language.Display;
             if (this.settings.WriteObjectToDefaultFile(items))
             {
                 onSuccess.Invoke();
             }
             else
             {
                 // TODO Language
                 onError.Invoke("Failed");
             }
         });
         if (report.Code != 0)
         {
             // TODO - language
             WrapErr.SafeAction(() => { onError.Invoke("Unhandled Error on saving language"); });
         }
     });
 }
Esempio n. 3
0
        public Plugin(ISettings settings)
        {
            this.settings = settings;

            SettingItems.Add("Grids", new SettingItem("Ground", true));
            SettingItems.Add("Grids", new SettingItem("HorizonLine", true));
            SettingItems.Add("Grids", new SettingItem("LabelCardinalDirections", true, s => s.Get <bool>("HorizonLine")));
            SettingItems.Add("Grids", new SettingItem("MeasureAzimuthFromNorth", false));

            // Colors
            SettingItems.Add("Colors", new SettingItem("ColorCardinalDirections", new SkyColor(0x00, 0x99, 0x99)));
            SettingItems.Add("Colors", new SettingItem("ColorHorizon", new SkyColor(0x00, 0x40, 0x00)));

            // Fonts
            SettingItems.Add("Fonts", new SettingItem("CardinalDirectionsFont", new Font("Arial", 12)));

            ToolbarItems.Add("Grids", new ToolbarToggleButton("IconGround", "$Settings.Ground", new SimpleBinding(settings, "Ground", "IsChecked")));

            ExportResourceDictionaries("Images.xaml");

            settings.SettingValueChanged += (settingName, value) =>
            {
                if (settingName == "MeasureAzimuthFromNorth")
                {
                    SetAzimuthOrigin((bool)value);
                }
            };
        }
Esempio n. 4
0
            public void WaitOne(SettingItems task, int timeOut = -1)
            {
                switch (task)
                {
                case SettingItems.ECUSetting:
                    System.Diagnostics.Debug.WriteLine("wait0");
                    wait[0].WaitOne(timeOut, false);
                    break;

                case SettingItems.MAPCalibrationParams:
                    System.Diagnostics.Debug.WriteLine("wait1");
                    wait[1].WaitOne(timeOut, false); break;

                //case SettingItems.ECUCorrectionParams:
                //    System.Diagnostics.Debug.WriteLine("wait2");
                //    wait[2].WaitOne(timeOut, false); break;
                case SettingItems.CorrectionSetting:
                    System.Diagnostics.Debug.WriteLine("wait3");
                    wait[2].WaitOne(timeOut, false);
                    break;

                //case SettingItems.InjectorCorrection:
                //    System.Diagnostics.Debug.WriteLine("wait4");
                //    wait[4].WaitOne(timeOut, false); break;
                case SettingItems.Additional:
                    System.Diagnostics.Debug.WriteLine("wait5");
                    wait[3].WaitOne(timeOut, false); break;
                }
            }
Esempio n. 5
0
 /// <summary>
 /// 等待指定项从下位机加载完毕
 /// </summary>
 /// <param name="item">要等待的项目</param>
 public void WaitReadyIfPLC(SettingItems item)
 {
     if (Device.Connect.IsConnected)
     {
         this.SettingTask.WaitOne(item);
     }
 }
Esempio n. 6
0
 /// <summary>
 /// Populate the settingsCollection w/ data received w/ Grbl '$$' command.
 /// </summary>
 /// <param name="data"></param>
 public void ProcessGrblSettingResponse(string data)
 {
     if (!string.IsNullOrEmpty(data))
     {
         ResponseStatus = RespStatus.Q;//Wait until we get all settings before sending new line of code
         string[] arr = data.Split(new Char[] { '=', '(', ')', '\r', '\n' });
         if (arr.Length > 0)
         {
             if (data.Contains("N"))
             {
                 InfoMessage = "Startup block";//$N0=...
             }
             else
             {
                 if (arr.Length > 3)//Grbl version 0.9 (w/ setting description)
                 {
                     GrblSettings = new SettingItems(arr[0], arr[1], arr[2]);
                     ListGrblSettings.Add(GrblSettings);
                     logger.Info("GrblTool|ProcessGrblSettingResponse|Grbl0.9 settings list: {0}|{1}|{2}", arr[0], arr[1], arr[2]);
                 }
                 else if (arr.Length == 2)//Grbl version 1.1 (w/o setting description)
                 {
                     GrblSettings = new SettingItems(arr[0], arr[1], GrblSettingCode.SettingDict[arr[0]]);
                     ListGrblSettings.Add(GrblSettings);
                     logger.Info("GrblTool|ProcessGrblSettingResponse|Grbl1.1 settings list: {0}|{1}|{2}", arr[0], arr[1], GrblSettingCode.SettingDict[arr[0]]);
                 }
                 else
                 {
                     InfoMessage = "Unknown settings";
                     logger.Info("GrblTool|ProcessGrblSettingResponse|Unknown settings");
                 }
             }
         }
     }
 }
Esempio n. 7
0
        public Plugin()
        {
            #region Settings

            SettingItems.Add("Tycho2", new SettingItem("Tycho2", defaultValue: true));

            #endregion Settings

            ExportResourceDictionaries("Images.xaml");
        }
Esempio n. 8
0
        public void OnImportsSatisfied()
        {
            var lst = SettingItems.Select(t => t.Value).ToList();

            _settingComponentHolding.UpdateMenuItem(lst);

            var estLst = EventSchduleTaskItems.Select(t => t.Value).ToList();

            _eventSchduleTaskComponentHolding.UpdateEventSchduleTaskItem(estLst);
        }
        public void GetCurrentScript(CommMedium medium, Action <ScriptDataModel> onSuccess, OnErr onError)
        {
            WrapErr.ToErrReport(9999, () => {
                ErrReport report;
                WrapErr.ToErrReport(out report, 9999, () => {
                    // Force default creation
                    var x = this.scriptStorage;
                    SettingItems items = this.settings.ReadObjectFromDefaultFile();

                    ScriptDataModel dm = null;
                    switch (medium)
                    {
                    case CommMedium.Bluetooth:
                        dm = items.CurrentScriptBT;
                        break;

                    case CommMedium.BluetoothLE:
                        dm = items.CurrentScriptBLE;
                        break;

                    case CommMedium.Ethernet:
                        dm = items.CurrentScriptEthernet;
                        break;

                    case CommMedium.Usb:
                        dm = items.CurrentScriptUSB;
                        break;

                    case CommMedium.Wifi:
                        dm = items.CurrentScriptWIFI;
                        break;

                    default:
                        dm = items.CurrentScript;
                        break;
                    }
                    if (dm == null)
                    {
                        if (items.CurrentScript == null)
                        {
                            items.CurrentScript = this.AssureScript(new ScriptDataModel());
                        }
                        dm = items.CurrentScript;
                    }
                    onSuccess(dm);
                });
                if (report.Code != 0)
                {
                    onError.Invoke(this.GetText(MsgCode.LoadFailed));
                }
            });
        }
        public void GetCurrentTerminator(CommMedium medium, Action <TerminatorDataModel> onSuccess, OnErr onError)
        {
            WrapErr.ToErrReport(9999, () => {
                ErrReport report;
                WrapErr.ToErrReport(out report, 9999, () => {
                    // Force default creation
                    var x = this.terminatorStorage;
                    SettingItems items = this.settings.ReadObjectFromDefaultFile();

                    TerminatorDataModel dm = null;
                    switch (medium)
                    {
                    case CommMedium.Bluetooth:
                        dm = items.CurrentTerminatorBT;
                        break;

                    case CommMedium.BluetoothLE:
                        dm = items.CurrentTerminatorBLE;
                        break;

                    case CommMedium.Ethernet:
                        dm = items.CurrentTerminatorEthernet;
                        break;

                    case CommMedium.Usb:
                        dm = items.CurrentTerminatorUSB;
                        break;

                    case CommMedium.Wifi:
                        dm = items.CurrentTerminatorWIFI;
                        break;

                    default:
                        dm = items.CurrentTerminator;
                        break;
                    }
                    if (dm == null)
                    {
                        this.log.Error(9999, () => string.Format("Default terminators for {0} not found", medium));
                        dm = items.CurrentTerminator;
                    }
                    dm = this.AssureTerminators(dm);
                    onSuccess(dm);
                });
                if (report.Code != 0)
                {
                    onError.Invoke(this.GetText(MsgCode.LoadFailed));
                }
            });
        }
 public void GetCurrentScript(Action <ScriptDataModel> onSuccess, OnErr onError)
 {
     WrapErr.ToErrReport(9999, () => {
         ErrReport report;
         WrapErr.ToErrReport(out report, 9999, () => {
             // Force creations if not yet created
             var x = this.scriptStorage;
             SettingItems items = this.settings.ReadObjectFromDefaultFile();
             onSuccess(items.CurrentScript);
         });
         if (report.Code != 0)
         {
             onError.Invoke(this.GetText(MsgCode.LoadFailed));
         }
     });
 }
Esempio n. 12
0
        private void btRestore_Click(object sender, EventArgs e)
        {
            if (ofdResotre.ShowDialog() != System.Windows.Forms.DialogResult.OK)
            {
                return;
            }
            string fileName = ofdResotre.FileName;

            SettingItems tmp = (SettingItems)localSettingManager.Read(fileName);

            settingItems = tmp;                     //恢复
            localSettingManager.Save(settingItems); //保存当前数据
            LoadItems();                            //重置界面

            SelectDefaultItem();
        }
Esempio n. 13
0
        public Plugin(ISettings settings)
        {
            SettingItems.Add("Stars", new SettingItem("Stars", true));
            SettingItems.Add("Stars", new SettingItem("StarsLabels", true, s => s.Get <bool>("Stars")));
            SettingItems.Add("Stars", new SettingItem("StarsProperNames", true, s => s.Get <bool>("Stars") && s.Get <bool>("StarsLabels")));
            SettingItems.Add("Stars", new SettingItem("StarsColors", true, s => s.Get <bool>("Stars")));
            SettingItems.Add("Constellations", new SettingItem("ConstLines", true));
            SettingItems.Add("Colors", new SettingItem("ColorConstLines", new SkyColor(64, 64, 64)));
            SettingItems.Add("Colors", new SettingItem("ColorStarsLabels", new SkyColor(64, 64, 64)));

            SettingItems.Add("Fonts", new SettingItem("StarsLabelsFont", new Font("Arial", 8)));

            ToolbarItems.Add("Objects", new ToolbarToggleButton("IconStar", "$Settings.Stars", new SimpleBinding(settings, "Stars", "IsChecked")));
            ToolbarItems.Add("Constellations", new ToolbarToggleButton("IconConstLines", "$Settings.ConstLines", new SimpleBinding(settings, "ConstLines", "IsChecked")));

            ExportResourceDictionaries("Images.xaml");
        }
Esempio n. 14
0
        private void FormMain_Load(object sender, EventArgs e)
        {
            tabControl1.TabPages.RemoveAt(1);
            tabControl1.TabPages.RemoveAt(1);

            DataTable dataTable = I3EnumUtil.EnumTypeToDataTable(typeof(DBServerType2));

            cbbDBServerType.DataSource = dataTable;

            string fileName = Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "CodeMakeConfig.dat");

            localSettingManager.Init(fileName, typeof(SettingItems));
            settingItems = (SettingItems)localSettingManager.Read();

            LoadItems();
            SelectDefaultItem();
        }
 public void GetCurrentTerminator(Action <TerminatorDataModel> onSuccess, OnErr onError)
 {
     WrapErr.ToErrReport(9999, () => {
         ErrReport report;
         WrapErr.ToErrReport(out report, 9999, () => {
             // Force default creation
             var x = this.terminatorStorage;
             SettingItems items      = this.settings.ReadObjectFromDefaultFile();
             items.CurrentTerminator = this.AssureTerminators(items.CurrentTerminator);
             onSuccess(items.CurrentTerminator);
         });
         if (report.Code != 0)
         {
             onError.Invoke(this.GetText(MsgCode.LoadFailed));
         }
     });
 }
Esempio n. 16
0
        public Plugin(ISettings settings)
        {
            SettingItems.Add("DeepSky", new SettingItem("DeepSky", true));
            SettingItems.Add("DeepSky", new SettingItem("DeepSkyLabels", true, s => s.Get <bool>("DeepSky")));
            SettingItems.Add("DeepSky", new SettingItem("DeepSkyOutlines", true, s => s.Get <bool>("DeepSky")));

            // Colors
            SettingItems.Add("Colors", new SettingItem("ColorDeepSkyOutline", new SkyColor(50, 50, 50)));
            SettingItems.Add("Colors", new SettingItem("ColorDeepSkyLabel", new SkyColor(0, 64, 128)));

            // Fonts
            SettingItems.Add("Fonts", new SettingItem("DeepSkyLabelsFont", new Font("Arial", 7)));

            ToolbarItems.Add("Objects", new ToolbarToggleButton("IconDeepSky", "$Settings.DeepSky", new SimpleBinding(settings, "DeepSky", "IsChecked")));

            ExportResourceDictionaries("Images.xaml");
        }
Esempio n. 17
0
        public FieldOfViewPlugin(ISkyMap map, ISettings settings)
        {
            this.map      = map;
            this.settings = settings;

            SettingItems.Add(null, new SettingItem("FovFrames", new List <FovFrame>()));

            MenuItem fovMenu = new MenuItem("$FovPlugin.Menu.FOV");

            fovMenu.AddBinding(new SimpleBinding(this, nameof(FrameMenuItems), nameof(MenuItem.SubItems)));
            MenuItems.Add(MenuItemPosition.MainMenuTools, fovMenu);

            MenuItem scaleToFOVMenu = new MenuItem("$FovPlugin.ContextMenu.ScaleToFOV");

            scaleToFOVMenu.AddBinding(new SimpleBinding(this, nameof(FrameContextMenuItems), nameof(MenuItem.SubItems)));
            scaleToFOVMenu.AddBinding(new SimpleBinding(this, nameof(IsContextMenuVisible), nameof(MenuItem.IsVisible)));
            MenuItems.Add(MenuItemPosition.ContextMenu, scaleToFOVMenu);
        }
Esempio n. 18
0
        public Plugin(ISettings settings)
        {
            SettingItems.Add("Constellations", new SettingItem("ConstBorders", true));
            SettingItems.Add("Constellations", new SettingItem("ConstLabels", true));
            SettingItems.Add("Constellations", new SettingItem("ConstLabelsType", ConstellationsRenderer.LabelType.InternationalName, s => s.Get <bool>("ConstLabels")));

            // Colors
            SettingItems.Add("Colors", new SettingItem("ColorConstBorders", new SkyColor(64, 32, 32)));
            SettingItems.Add("Colors", new SettingItem("ColorConstLabels", new SkyColor(64, 32, 32)));

            // Fonts
            SettingItems.Add("Fonts", new SettingItem("ConstLabelsFont", new Font(FontFamily.GenericSansSerif, 32)));

            ToolbarItems.Add("Constellations", new ToolbarToggleButton("IconConstBorders", "$Settings.ConstBorders", new SimpleBinding(settings, "ConstBorders", "IsChecked")));
            ToolbarItems.Add("Constellations", new ToolbarToggleButton("IconConstLabels", "$Settings.ConstLabels", new SimpleBinding(settings, "ConstLabels", "IsChecked")));

            ExportResourceDictionaries("Images.xaml");
        }
Esempio n. 19
0
        public Plugin(ISettings settings)
        {
            SettingItems.Add("Comets", new SettingItem("Comets", true));
            SettingItems.Add("Comets", new SettingItem("CometsLabels", true, s => s.Get <bool>("Comets")));
            SettingItems.Add("Asteroids", new SettingItem("Asteroids", true));
            SettingItems.Add("Asteroids", new SettingItem("AsteroidsLabels", true, s => s.Get <bool>("Asteroids")));

            SettingItems.Add("Colors", new SettingItem("ColorAsteroidsLabels", new SkyColor(10, 44, 37)));
            SettingItems.Add("Colors", new SettingItem("ColorCometsLabels", new SkyColor(78, 84, 99)));

            SettingItems.Add("Fonts", new SettingItem("AsteroidsLabelsFont", new Font("Arial", 8)));
            SettingItems.Add("Fonts", new SettingItem("CometsLabelsFont", new Font("Arial", 8)));

            ToolbarItems.Add("Objects", new ToolbarToggleButton("IconAsteroid", "$Settings.Asteroids", new SimpleBinding(settings, "Asteroids", "IsChecked")));
            ToolbarItems.Add("Objects", new ToolbarToggleButton("IconComet", "$Settings.Comets", new SimpleBinding(settings, "Comets", "IsChecked")));

            ExportResourceDictionaries("Images.xaml");
        }
Esempio n. 20
0
            public void StartTask(SettingItems item)
            {
                running = true;
                switch (item)
                {
                case SettingItems.ECUSetting:
                    System.Diagnostics.Debug.WriteLine("wait reset0");
                    wait[0].Reset();
                    var ecutask = new ECUSettingTask();
                    this.Store.Device.AddCustomTask("PLCDataLoad1", CancelBit.Storage, ecutask); break;

                case SettingItems.MAPCalibrationParams:
                    System.Diagnostics.Debug.WriteLine("wait reset1");
                    wait[1].Reset();
                    var mTask = new MAPCalibrationParamsTask();
                    this.Store.Device.AddCustomTask("PLCDataLoad2", CancelBit.Storage, mTask); break;

                //case SettingItems.ECUCorrectionParams:
                //    System.Diagnostics.Debug.WriteLine("wait reset2");
                //    wait[2].Reset();
                //    var ecorTask = new ECUCorrectionParamsTask();
                //    this.Store.Device.AddCustomTask("PLCDataLoad3", CancelBit.Storage, ecorTask); break;
                case SettingItems.CorrectionSetting:
                    System.Diagnostics.Debug.WriteLine("wait reset3");
                    wait[2].Reset();
                    var cTask = new CorrectSettingTask();
                    this.Store.Device.AddCustomTask("PLCDataLoad4", CancelBit.Storage, cTask); break;

                //case SettingItems.InjectorCorrection:
                //    System.Diagnostics.Debug.WriteLine("wait reset4");
                //    wait[4].Reset();
                //    var injTask = new InjectorCorrectionSettingTask();
                //    this.Store.Device.AddCustomTask("PLCDataLoad5", CancelBit.Storage, injTask); break;
                case SettingItems.Additional:
                    System.Diagnostics.Debug.WriteLine("wait reset5");
                    wait[3].Reset();
                    var additTask = new AdditionalSettingsTask();
                    this.Store.Device.AddCustomTask("PLCDataLoad6", CancelBit.Storage, additTask); break;

                default:
                    break;
                }
            }
Esempio n. 21
0
        public Plugin(ISettings settings)
        {
            SettingItems.Add("Grids", new SettingItem("EquatorialGrid", false));
            SettingItems.Add("Grids", new SettingItem("LabelEquatorialPoles", true, s => s.Get <bool>("EquatorialGrid")));
            SettingItems.Add("Grids", new SettingItem("HorizontalGrid", false));
            SettingItems.Add("Grids", new SettingItem("LabelHorizontalPoles", true, s => s.Get <bool>("HorizontalGrid")));
            SettingItems.Add("Grids", new SettingItem("EclipticLine", true));
            SettingItems.Add("Grids", new SettingItem("LabelEquinoxPoints", false, s => s.Get <bool>("EclipticLine")));
            SettingItems.Add("Grids", new SettingItem("LabelLunarNodes", false, s => s.Get <bool>("EclipticLine")));
            SettingItems.Add("Grids", new SettingItem("GalacticEquator", true));
            SettingItems.Add("Colors", new SettingItem("ColorEcliptic", new SkyColor(0x80, 0x80, 0x00)));
            SettingItems.Add("Colors", new SettingItem("ColorGalacticEquator", new SkyColor(64, 0, 64)));
            SettingItems.Add("Colors", new SettingItem("ColorHorizontalGrid", new SkyColor(0x00, 0x40, 0x00)));
            SettingItems.Add("Colors", new SettingItem("ColorEquatorialGrid", new SkyColor(0, 64, 64)));

            ToolbarItems.Add("Grids", new ToolbarToggleButton("IconEquatorialGrid", "$Settings.EquatorialGrid", new SimpleBinding(settings, "EquatorialGrid", "IsChecked")));
            ToolbarItems.Add("Grids", new ToolbarToggleButton("IconHorizontalGrid", "$Settings.HorizontalGrid", new SimpleBinding(settings, "HorizontalGrid", "IsChecked")));

            ExportResourceDictionaries("Images.xaml");
        }
 public void SaveSettings(SettingItems settings, Action onSuccess, OnErr onError)
 {
     WrapErr.ToErrReport(9999, () => {
         ErrReport report;
         WrapErr.ToErrReport(out report, 9999, () => {
             if (this.settings.WriteObjectToDefaultFile(settings))
             {
                 onSuccess.Invoke();
             }
             else
             {
                 onError.Invoke(this.GetText(MsgCode.SaveFailed));
             }
         });
         if (report.Code != 0)
         {
             onError.Invoke(this.GetText(MsgCode.SaveFailed));
         }
     });
 }
Esempio n. 23
0
        public Plugin(ISkyMap map, ISky sky, ISettings settings)
        {
            var menuAscom = new MenuItem("$Menu.Telescope");

            this.ascom    = Ascom.Proxy;
            this.map      = map;
            this.sky      = sky;
            this.settings = settings;

            SettingItems.Add(null, new SettingItem("ASCOMTelescopeId", ""));

            var menuConnectTelescope = new MenuItem("$Menu.ConnectToTelescope", new Command(ConnectTelescope));

            menuConnectTelescope.AddBinding(new SimpleBinding(this, nameof(IsConnectTelescopeVisible), nameof(MenuItem.IsVisible)));

            var menuDisconnectTelescope = new MenuItem("$Menu.DisconnectTelescope", new Command(DisconnectTelescope));

            menuDisconnectTelescope.AddBinding(new SimpleBinding(ascom, nameof(ascom.IsConnected), nameof(MenuItem.IsVisible)));
            menuDisconnectTelescope.AddBinding(new SimpleBinding(this, nameof(DisconnectTitle), nameof(MenuItem.Header)));

            var menuFindCurrentPoint = new MenuItem("$Menu.FindCurrentPoint", new Command(FindCurrentPoint));

            menuFindCurrentPoint.AddBinding(new SimpleBinding(ascom, nameof(ascom.IsConnected), nameof(MenuItem.IsEnabled)));

            var menuAbortSlew = new MenuItem("$Menu.AbortSlew", new Command(AbortSlew));

            menuAbortSlew.AddBinding(new SimpleBinding(ascom, nameof(ascom.IsSlewing), nameof(MenuItem.IsEnabled)));

            var menuFindHome = new MenuItem("$Menu.Home", new Command(FindHome));

            menuFindHome.AddBinding(new SimpleBinding(ascom, nameof(ascom.AtHome), nameof(MenuItem.IsChecked)));
            menuFindHome.AddBinding(new SimpleBinding(ascom, nameof(ascom.IsConnected), nameof(MenuItem.IsEnabled)));

            var menuPark = new MenuItem("$Menu.Park", new Command(ParkOrUnpark));

            menuPark.AddBinding(new SimpleBinding(ascom, nameof(ascom.AtPark), nameof(MenuItem.IsChecked)));
            menuPark.AddBinding(new SimpleBinding(ascom, nameof(ascom.IsConnected), nameof(MenuItem.IsEnabled)));

            var menuTrack = new MenuItem("$Menu.Track", new Command(SwitchTracking));

            menuTrack.AddBinding(new SimpleBinding(ascom, nameof(ascom.IsTracking), nameof(MenuItem.IsChecked)));
            menuTrack.AddBinding(new SimpleBinding(ascom, nameof(ascom.IsConnected), nameof(MenuItem.IsEnabled)));

            var menuInfo = new MenuItem("$Menu.AscomInformation", new Command(ShowInfo));

            menuInfo.AddBinding(new SimpleBinding(ascom, nameof(ascom.IsConnected), nameof(MenuItem.IsEnabled)));

            menuAscom.SubItems.Add(menuConnectTelescope);
            menuAscom.SubItems.Add(menuDisconnectTelescope);
            menuAscom.SubItems.Add(null);
            menuAscom.SubItems.Add(menuFindCurrentPoint);
            menuAscom.SubItems.Add(menuAbortSlew);
            menuAscom.SubItems.Add(null);
            menuAscom.SubItems.Add(menuFindHome);
            menuAscom.SubItems.Add(menuPark);
            menuAscom.SubItems.Add(menuTrack);
            menuAscom.SubItems.Add(null);
            menuAscom.SubItems.Add(menuInfo);

            MenuItems.Add(MenuItemPosition.MainMenuTop, menuAscom);

            var contextMenuAscom = new MenuItem("$ContextMenu.Telescope");

            contextMenuAscom.AddBinding(new SimpleBinding(this, nameof(IsContextMenuEnabled), nameof(MenuItem.IsEnabled)));

            var contextMenuSyncTo = new MenuItem("$ContextMenu.Telescope.Sync", new Command(SyncToPosition));

            contextMenuSyncTo.AddBinding(new SimpleBinding(this, nameof(IsContextMenuEnabled), nameof(MenuItem.IsEnabled)));

            var contextMenuSlewTo = new MenuItem("$ContextMenu.Telescope.Slew", new Command(SlewToPosition));

            contextMenuSlewTo.AddBinding(new SimpleBinding(this, nameof(IsContextMenuEnabled), nameof(MenuItem.IsEnabled)));

            contextMenuAscom.SubItems.Add(contextMenuSyncTo);
            contextMenuAscom.SubItems.Add(contextMenuSlewTo);

            MenuItems.Add(MenuItemPosition.ContextMenu, contextMenuAscom);

            ascom.PropertyChanged += Ascom_PropertyChanged;
            ascom.OnMessageShow   += Ascom_OnMessageShow;

            SettingItems.Add("Colors", new SettingItem("TelescopeMarkerColor", new SkyColor(Color.DarkOrange)));
            SettingItems.Add("Fonts", new SettingItem("TelescopeMarkerFont", SystemFonts.DefaultFont));
            SettingItems.Add("Ascom", new SettingItem("TelescopeMarkerLabel", true));
            SettingItems.Add("Ascom", new SettingItem("TelescopeFindCurrentPointAfterConnect", false));
            SettingItems.Add("Ascom", new SettingItem("TelescopePollingPeriod", (decimal)500, typeof(UpDownSettingControl)));

            settings.SettingValueChanged += Settings_SettingValueChanged;
        }
Esempio n. 24
0
        public void GetSetting(Action <SettingItems, Exception> callback)
        {
            var item = new SettingItems();

            callback?.Invoke(item, null);
        }
Esempio n. 25
0
    /// <summary>
    /// 测试数据库连接
    /// </summary>
    /// <returns>成功提示或者错误信息</returns>
    static public string TestDataBase()
    {
        string   strResult;
        Database db = DatabaseFactory.CreateDatabase();

        try
        {
            Assembly Asm = Assembly.GetExecutingAssembly();
            Stream   strmUserRelationBuffer, strmUserInfoBuffer, strmUserTagBuffer, strmStatusBuffer, strmCommentBuffer;

            SettingItems settings = AppSettings.Load();
            if (settings == null)
            {
                settings = AppSettings.LoadDefault();
            }
            #region UserRelation
            switch (settings.DBType)
            {
            case "SQL Server":
                strmUserRelationBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_userRelation.sql");
                break;

            default:
                strmUserRelationBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_userRelation.sql");
                break;
            }
            StreamReader readerUserRelationBuffer = new StreamReader(strmUserRelationBuffer);
            string       sql     = "";
            string       strLine = readerUserRelationBuffer.ReadLine();
            while (strLine != null)
            {
                if (strLine.Trim() != "")
                {
                    sql += " " + strLine;
                    if (strLine.LastIndexOf(';') == strLine.Length - 1)  //SQL语句结尾
                    {
                        sql = sql.Substring(0, sql.Length - 1);
                        sql = sql.Replace("queue_buffer_for_userRelation", GlobalPool.UserRelationBufferTable);
                        sql = sql.Replace("PK_queue_buffer_for_userRelation", "PK_queue_buffer_for_userRelation" + GlobalPool.TimeStamp.ToString());
                        sql = sql.Replace("index_enqueue_time", "index_enqueue_time" + GlobalPool.TimeStamp.ToString());
                        db.CountByExecuteSQL(sql);
                        sql = "";
                    }
                }
                strLine = readerUserRelationBuffer.ReadLine();
            }

            readerUserRelationBuffer.Close();
            readerUserRelationBuffer.Dispose();
            #endregion
            #region UserInfo
            switch (settings.DBType)
            {
            case "SQL Server":
                strmUserInfoBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_userInfo.sql");
                break;

            default:
                strmUserInfoBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_userInfo.sql");
                break;
            }
            if (GlobalPool.UserInfoRobotEnabled)
            {
                StreamReader readerUserInfoBuffer = new StreamReader(strmUserInfoBuffer);
                sql     = "";
                strLine = readerUserInfoBuffer.ReadLine();
                while (strLine != null)
                {
                    if (strLine.Trim() != "")
                    {
                        sql += " " + strLine;
                        if (strLine.LastIndexOf(';') == strLine.Length - 1)  //SQL语句结尾
                        {
                            sql = sql.Substring(0, sql.Length - 1);
                            sql = sql.Replace("queue_buffer_for_userInfo", GlobalPool.UserInfoBufferTable);
                            sql = sql.Replace("PK_queue_buffer_for_userInfo", "PK_queue_buffer_for_userInfo" + GlobalPool.TimeStamp.ToString());
                            sql = sql.Replace("index_enqueue_time", "index_enqueue_time" + GlobalPool.TimeStamp.ToString());
                            db.CountByExecuteSQL(sql);
                            sql = "";
                        }
                    }
                    strLine = readerUserInfoBuffer.ReadLine();
                }

                readerUserInfoBuffer.Close();
                readerUserInfoBuffer.Dispose();
            }
            #endregion
            #region UserTags
            switch (settings.DBType)
            {
            case "SQL Server":
                strmUserTagBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_tag.sql");
                break;

            default:
                strmUserTagBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_tag.sql");
                break;
            }
            if (GlobalPool.TagRobotEnabled)
            {
                StreamReader readerUserTagBuffer = new StreamReader(strmUserTagBuffer);
                sql     = "";
                strLine = readerUserTagBuffer.ReadLine();
                while (strLine != null)
                {
                    if (strLine.Trim() != "")
                    {
                        sql += " " + strLine;
                        if (strLine.LastIndexOf(';') == strLine.Length - 1)  //SQL语句结尾
                        {
                            sql = sql.Substring(0, sql.Length - 1);
                            sql = sql.Replace("queue_buffer_for_tag", GlobalPool.UserTagBufferTable);
                            sql = sql.Replace("PK_queue_buffer_for_tag", "PK_queue_buffer_for_tag" + GlobalPool.TimeStamp.ToString());
                            sql = sql.Replace("index_enqueue_time", "index_enqueue_time" + GlobalPool.TimeStamp.ToString());
                            db.CountByExecuteSQL(sql);
                            sql = "";
                        }
                    }
                    strLine = readerUserTagBuffer.ReadLine();
                }

                readerUserTagBuffer.Close();
                readerUserTagBuffer.Dispose();
            }
            #endregion
            #region Status
            switch (settings.DBType)
            {
            case "SQL Server":
                strmStatusBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_status.sql");
                break;

            default:
                strmStatusBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_status.sql");
                break;
            }
            if (GlobalPool.StatusRobotEnabled)
            {
                StreamReader readerStatusBuffer = new StreamReader(strmStatusBuffer);
                sql     = "";
                strLine = readerStatusBuffer.ReadLine();
                while (strLine != null)
                {
                    if (strLine.Trim() != "")
                    {
                        sql += " " + strLine;
                        if (strLine.LastIndexOf(';') == strLine.Length - 1)  //SQL语句结尾
                        {
                            sql = sql.Substring(0, sql.Length - 1);
                            sql = sql.Replace("queue_buffer_for_status", GlobalPool.StatusBufferTable);
                            sql = sql.Replace("PK_queue_buffer_for_status", "PK_queue_buffer_for_status" + GlobalPool.TimeStamp.ToString());
                            sql = sql.Replace("index_enqueue_time", "index_enqueue_time" + GlobalPool.TimeStamp.ToString());
                            db.CountByExecuteSQL(sql);
                            sql = "";
                        }
                    }
                    strLine = readerStatusBuffer.ReadLine();
                }

                readerStatusBuffer.Close();
                readerStatusBuffer.Dispose();
            }
            #endregion
            #region Comment
            switch (settings.DBType)
            {
            case "SQL Server":
                strmCommentBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_comment.sql");
                break;

            default:
                strmCommentBuffer = Asm.GetManifestResourceStream(Asm.GetName().Name + ".queue_buffer_for_comment.sql");
                break;
            }
            if (GlobalPool.CommentRobotEnabled)
            {
                StreamReader readerCommentBuffer = new StreamReader(strmCommentBuffer);
                sql     = "";
                strLine = readerCommentBuffer.ReadLine();
                while (strLine != null)
                {
                    if (strLine.Trim() != "")
                    {
                        sql += " " + strLine;
                        if (strLine.LastIndexOf(';') == strLine.Length - 1)  //SQL语句结尾
                        {
                            sql = sql.Substring(0, sql.Length - 1);
                            sql = sql.Replace("queue_buffer_for_comment", GlobalPool.CommentBufferTable);
                            sql = sql.Replace("PK_queue_buffer_for_comment", "PK_queue_buffer_for_comment" + GlobalPool.TimeStamp.ToString());
                            sql = sql.Replace("index_enqueue_time", "index_enqueue_time" + GlobalPool.TimeStamp.ToString());
                            db.CountByExecuteSQL(sql);
                            sql = "";
                        }
                    }
                    strLine = readerCommentBuffer.ReadLine();
                }

                readerCommentBuffer.Close();
                readerCommentBuffer.Dispose();
            }
            #endregion
            strResult = "OK";
        }
        catch (Exception ex)
        {
            strResult = ex.Message;
        }
        return(strResult);
    }
Esempio n. 26
0
 public SettingItem getSettingItem(string name)
 {
     return(SettingItems.Find(t => t.Name == name));
 }
Esempio n. 27
0
 private void SelectContent(HohoemaSettingsKind kind)
 {
     CurrentSettingsContent.Value = SettingItems.FirstOrDefault(x => x.Kind == kind);
 }
Esempio n. 28
0
 public Plugin()
 {
     SettingItems.Add("Grids", new SettingItem("MilkyWay", true));
     SettingItems.Add("Colors", new SettingItem("ColorMilkyWay", new SkyColor(20, 20, 20)));
 }
Esempio n. 29
0
        public Plugin(ISettings settings)
        {
            #region Settings

            SettingItems.Add("Sun", new SettingItem("Sun", true));
            SettingItems.Add("Sun", new SettingItem("SunLabel", true, s => s.Get("Sun")));
            SettingItems.Add("Sun", new SettingItem("SunTexture", true, s => s.Get("Sun")));

            SettingItems.Add("Planets", new SettingItem("Planets", true));
            SettingItems.Add("Planets", new SettingItem("PlanetsLabels", true, s => s.Get("Planets")));
            SettingItems.Add("Planets", new SettingItem("PlanetsTextures", true, s => s.Get("Planets")));
            SettingItems.Add("Planets", new SettingItem("PlanetsSurfaceFeatures", true, s => s.Get("Planets") && s.Get("PlanetsTextures")));
            SettingItems.Add("Planets", new SettingItem("PlanetsMartianPolarCaps", true, s => s.Get("Planets") && s.Get("PlanetsTextures")));
            SettingItems.Add("Planets", new SettingItem("ShowRotationAxis", true, s => s.Get("Planets")));
            SettingItems.Add("Planets", new SettingItem("PlanetMoons", true, s => s.Get("Planets")));
            SettingItems.Add("Planets", new SettingItem("JupiterMoonsShadowOutline", true, s => s.Get("Planets") && s.Get("PlanetMoons")));
            SettingItems.Add("Planets", new SettingItem("GenericMoons", true, s => s.Get("Planets") && s.Get("PlanetMoons")));
            SettingItems.Add("Planets", new SettingItem("GenericMoonsAutoUpdate", false, s => s.Get("Planets") && s.Get("PlanetMoons") && s.Get("GenericMoons")));
            SettingItems.Add("Planets", new SettingItem("GenericMoonsOrbitalElementsValidity", (decimal)30, typeof(UpDownSettingControl), s => s.Get("Planets") && s.Get("PlanetMoons") && s.Get("GenericMoons") && s.Get("GenericMoonsAutoUpdate")));

            SettingItems.Add("Planets", new SettingItem("GRSLongitude", new GreatRedSpotSettings()
            {
                Epoch        = 2458150.5000179596,
                MonthlyDrift = 2,
                Longitude    = 283
            }, typeof(GRSSettingControl), s => s.Get("Planets")));

            SettingItems.Add("Moon", new SettingItem("Moon", true));
            SettingItems.Add("Moon", new SettingItem("MoonLabel", true, s => s.Get("Moon")));
            SettingItems.Add("Moon", new SettingItem("MoonPhase", true, s => s.Get("Moon")));
            SettingItems.Add("Moon", new SettingItem("MoonTexture", true, s => s.Get("Moon")));
            SettingItems.Add("Moon", new SettingItem("MoonTextureQuality", TextureQuality.Normal, s => s.Get("Moon") && s.Get("MoonTexture")));
            SettingItems.Add("Moon", new SettingItem("MoonSurfaceFeatures", true, s => s.Get("Moon") && s.Get("MoonTexture")));
            SettingItems.Add("Moon", new SettingItem("EarthShadowOutline", false, s => s.Get("Moon")));

            // Colors
            SettingItems.Add("Colors", new SettingItem("ColorSolarSystemLabel", new SkyColor(Color.DimGray)));

            // Fonts
            SettingItems.Add("Fonts", new SettingItem("SolarSystemLabelsFont", new Font("Arial", 8)));

            #endregion Settings

            #region UI integration

            ToolbarItems.Add("Objects", new ToolbarToggleButton("IconSun", "$Settings.Sun", new SimpleBinding(settings, "Sun", "IsChecked")));
            ToolbarItems.Add("Objects", new ToolbarToggleButton("IconMoon", "$Settings.Moon", new SimpleBinding(settings, "Moon", "IsChecked")));
            ToolbarItems.Add("Objects", new ToolbarToggleButton("IconPlanet", "$Settings.Planets", new SimpleBinding(settings, "Planets", "IsChecked")));

            ExportResourceDictionaries("Images.xaml");

            #endregion UI integration

            #region Extending formatters

            Formatters.Default["Appearance.CM"] = new Formatters.UnsignedDoubleFormatter(2, "\u00B0");
            Formatters.Default["Appearance.P"]  = new Formatters.UnsignedDoubleFormatter(2, "\u00B0");
            Formatters.Default["Appearance.D"]  = new Formatters.UnsignedDoubleFormatter(2, "\u00B0");

            #endregion Extending formatters
        }