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)); }
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(); }
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); }
private void ToolTipControllerGetActiveObjectInfo(IEvent <ToolTipControllerGetActiveObjectInfoEventArgs> e) { GridViewObjects.SetToolTip(e, CalcDisplayValue); }