Beispiel #1
0
        private string zedLongTerm_PointValueEvent(ZedGraphControl sender, GraphPane pane, CurveItem curve, int iPt)
        {
            LineItem line = curve as LineItem;

            if (line == null)
            {
                return("");
            }

            string name = curve.Label.Text;

            PlanetId id = Planet.GlyphToPlanetId[name[0]];

            if (line.Symbol.Type == SymbolType.None)
            {
                PointPair      pt   = curve.Points[iPt];
                DateTimeOffset time = new DateTimeOffset(DateTime.FromOADate(pt.X), TimeSpan.Zero);

                return(string.Format("{0}: {1} @ {2:F1}", time.ToString("MM-dd"), name, pt.Y));
            }
            else
            {
                PlanetEventFlag category = (from kvp in defaultEventSymbolType
                                            where kvp.Value == line.Symbol.Type
                                            select kvp.Key).FirstOrDefault();

                if (category != PlanetEventFlag.AspectCategory)
                {
                    IPlanetEvent evt = TheAspectarian[category][id][iPt];

                    return(evt.ToString());
                }
                else
                {
                    PointPair      pt   = curve.Points[iPt];
                    DateTimeOffset time = new DateTimeOffset(DateTime.FromOADate(pt.X), TimeSpan.Zero);

                    IPlanetEvent closestEvt = (from one in TheAspectarian[category][id]
                                               orderby Math.Abs((one.When - time).TotalDays)
                                               select one
                                               ).First();
                    return(closestEvt.ToString());
                }
            }
        }