Exemple #1
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);
                }
            };
        }
Exemple #2
0
        public Plugin()
        {
            #region Settings

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

            #endregion Settings

            ExportResourceDictionaries("Images.xaml");
        }
Exemple #3
0
        private void btAddSchema_Click(object sender, EventArgs e)
        {
            string schemaName;

            if (!I3GetStringForm.Excute("输入方案名称", "", out schemaName, false, false))
            {
                return;
            }
            if (settingItems.Keys.Contains(schemaName))
            {
                MessageBox.Show("方案名称已存在", "错误", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            //保存当前数据
            SaveItem();
            //新增
            SettingItem settingItem = new SettingItem(schemaName);

            settingItems.Add(settingItem.SchemaName, settingItem);
            LoadItems();
            CurItem = settingItem;
        }
Exemple #4
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");
        }
Exemple #5
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");
        }
Exemple #6
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);
        }
Exemple #7
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");
        }
Exemple #8
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");
        }
Exemple #9
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");
        }
Exemple #10
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
        }
Exemple #11
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;
        }
Exemple #12
0
 public Plugin()
 {
     SettingItems.Add("Grids", new SettingItem("MilkyWay", true));
     SettingItems.Add("Colors", new SettingItem("ColorMilkyWay", new SkyColor(20, 20, 20)));
 }