Ejemplo n.º 1
0
        private string CalcDisplayValue(GridHitInfo gridHitInfo)
        {
            return(GridViewObjects.GetRowCellValue(gridHitInfo.RowHandle, gridHitInfo.Column)
                   .Return(rcv =>
            {
                var value = rcv.ToString();
                var catValue = value;
                var typeValue = value;
                var descriptionValue = value;
                var classValue = value;

                (gridHitInfo.Column.FieldName == "Name" || gridHitInfo.Column.FieldName == "OtherName")
                .Then(() => value = Catalogs.GetFrom(catValue));

                (gridHitInfo.Column.FieldName == "Type")
                .Then(() => value = ObjectType.GetFrom(typeValue));

                (gridHitInfo.Column.FieldName == "Description")
                .Then(() => value = Lookup.GetFrom(descriptionValue));

                (gridHitInfo.Column.FieldName == "Classification")
                .Then(() => value = Classification.GetFrom(
                          GridViewObjects.GetRowCellValue(gridHitInfo.RowHandle, "Type").ToString(),
                          classValue));

                (gridHitInfo.Column.FieldName == "MinimumAperture")
                .Then(() => value = MinimumApertureTip + CalcAperturesSkyBkgndBrightness + " mag/arcsec^2");

                (gridHitInfo.Column.FieldName == "BestExitPupil")
                .Then(() => value = BestExitPupilTip);

                return value;
            }, string.Empty));
        }
Ejemplo n.º 2
0
        private void CalcApertures()
        {
            CalcAperturesSkyBkgndBrightness = SkyBkgndBrightness;
            var view = new GenLib.Progress.Manual.View();

            new Thread(() => view.ShowDialog())
            {
                Name = "CalcApertures"
            }.Start();
            view.SetParms("Calculate Progress", "Calculating minimum apertures and best exit pupils to detect objects");
            var progState = new ProgressState
            {
                Total    = GridViewObjects.DataSource.CastSafe <List <DisplayRecord> >().Count,
                Current  = 0,
                Interval = 100,
            };

            GridViewObjects.DataSource.CastSafe <List <DisplayRecord> >()
            .ForEach(displayRecord =>
            {
                CalcAnAperture(displayRecord);
                progState.IncrementAndReport(view.UpdateProgress);
            });
            view.InvokeExt(v => v.Close());
            GridViewObjects.RefreshData();
        }
Ejemplo n.º 3
0
        public override sealed void Subscribe()
        {
            ViewModel.Subscribe();

            this.GetVisibleChanged().Where(_ => Visible).Subscribe(_ => GridControlObjects.DataSource = LoadData());

            GridViewObjects.GetFocusedRowChanged().Where(_ => GridViewObjects.IsVisible).Subscribe(SendSelectedRecord);

            aboutToolStripMenuItem.GetClick().Subscribe(_ => AboutScreen.ShowDialog());
            exitToolStripMenuItem.GetClick().Subscribe(_ => Close());
            calcApertureToolStripMenuItem.GetClick().Subscribe(_ => CalcApertures());

            ToolTipController.GetGetActiveObjectInfo().Subscribe(ToolTipControllerGetActiveObjectInfo);

            Messenger.Instance().OfType <SkyBkgndBrightnessMessage>()
            .Subscribe(m => SkyBkgndBrightness = m.Brightness);
        }
Ejemplo n.º 4
0
 private void ToolTipControllerGetActiveObjectInfo(IEvent <ToolTipControllerGetActiveObjectInfoEventArgs> e)
 {
     GridViewObjects.SetToolTip(e, CalcDisplayValue);
 }