Example #1
0
        public IGPSBounds RelevantArea()
        {
            IGPSBounds area = null;

            if (m_TrailRoutes.Count > 0)
            {
                area = TrailMapPolyline.getGPSBounds(m_TrailRoutes);
            }
            if (m_TrailPoints.Count > 0)
            {
                //Normal trails all have the same radius, should not be much difference anyway
                float      highlightRadius = m_TrailPoints[0].Radius;
                IGPSBounds area2           = TrailGPSLocation.getGPSBounds(m_TrailPoints, 2 * highlightRadius);
                area = this.Union(area, area2);
            }
            if (m_SplitPoints.Count > 0)
            {
                IGPSBounds area2 = SplitGPSLocation.getGPSBounds(m_SplitPoints);
                area = this.Union(area, area2);
            }
            if (m_MarkedTrailRoutes.Count > 0 || m_MarkedTrailRoutesNoShow.Count > 0)
            {
                IGPSBounds area2 = Union(TrailMapPolyline.getGPSBounds(m_MarkedTrailRoutes),
                                         TrailMapPolyline.getGPSBounds(m_MarkedTrailRoutesNoShow));
                area = this.Union(area, area2);
            }
            return(area);
        }
 void summaryList_SelectedItemsChanged(object sender, System.EventArgs e)
 {
     IList<UniqueRoutesResult> results = getListSelection(this.summaryList.SelectedItems);
     IDictionary<string, MapPolyline> routes = new Dictionary<string, MapPolyline>();
     foreach (UniqueRoutesResult ur in results)
     {
         //Possibly limit no of Trails shown, it slows down (show complete Activities?)
         TrailResult tr = new TrailResult(ur);
         TrailMapPolyline m = new TrailMapPolyline(tr);
         m.Click += new MouseEventHandler(mapPoly_Click);
         routes.Add(m.key, m);
     }
     if (this.m_layer != null)
     {
         m_layer.TrailRoutes = routes;
     }
 }
 void summaryList_Click(object sender, System.EventArgs e)
 {
     //SelectTrack, for ST3
     if (sender is TreeList)
     {
         TreeList l = sender as TreeList;
         TreeList.RowHitState hit;
         object row;
         //Note: As ST scrolls before Location is recorded, incorrect row may be selected...
         row = summaryList.RowHitTest(((MouseEventArgs)e).Location, out hit);
         if (row != null && hit == TreeList.RowHitState.Row && row is Result)
         {
             Result result = (Result)row;
             IActivity id = result.Activity;
             if (id != null && result.Seconds > 0)
             {
                 if (m_showPage && isSingleView != true)
                 {
                     IDictionary<string, MapPolyline> routes = new Dictionary<string, MapPolyline>();
                     TrailMapPolyline m = new TrailMapPolyline(
                         new TrailResult(new ActivityWrapper(id, Plugin.GetApplication().SystemPreferences.RouteSettings.RouteColor)));
                     routes.Add(m.key, m);
                     if (m_layer != null)
                     {
                         m_layer.TrailRoutes = routes;
                     }
                 }
                 IValueRangeSeries<DateTime> t = new ValueRangeSeries<DateTime>();
                 t.Add(new ValueRange<DateTime>(result.DateStart, result.DateEnd));
                 IList<TrailResultMarked> aTrm = new List<TrailResultMarked>();
                 aTrm.Add(new TrailResultMarked(
                     new TrailResult(new ActivityWrapper(id, Plugin.GetApplication().SystemPreferences.RouteSettings.RouteSelectedColor)),
                     t));
                 this.MarkTrack(aTrm);
             }
         }
     }
 }
        /**************************************************/

        void summaryList_Click(object sender, System.EventArgs e)
        {
            //SelectTrack, for ST3
            if (sender is TreeList)
            {
                TreeList l = sender as TreeList;
                TreeList.RowHitState hit;
                object row;
                //Note: As ST scrolls before Location is recorded, incorrect row may be selected...
                row = summaryList.RowHitTest(((MouseEventArgs)e).Location, out hit);
                if (row != null && hit == TreeList.RowHitState.Row && row is PredictorData)
                {
                    PredictorData result = (PredictorData)row;
                    if (result.source != null && result.source.Activity != null)
                    {
                        IActivity id = result.source.Activity;
                        if (m_showPage)
                        {
                            IDictionary<string, MapPolyline> routes = new Dictionary<string, MapPolyline>();
                            TrailMapPolyline m = new TrailMapPolyline(
                                new TrailResult(new ActivityWrapper(id, Plugin.GetApplication().SystemPreferences.RouteSettings.RouteColor)));
                            routes.Add(m.key, m);
                            if (m_layer != null)
                            {
                                m_layer.TrailRoutes = routes;
                            }
                        }
                        IValueRangeSeries<DateTime> t = new ValueRangeSeries<DateTime>();
                        DateTime endTime;
                        if (result.source.UsedTime.TotalSeconds > 0)
                        {
                            endTime = result.source.StartUsedTime.Add(result.source.UsedTime);
                        }
                        else
                        {
                            endTime = ActivityInfoCache.Instance.GetInfo(id).ActualTrackEnd;
                        }
                        t.Add(new ValueRange<DateTime>(result.source.StartUsedTime, endTime));
                        IList<TrailResultMarked> aTrm = new List<TrailResultMarked>();
                        aTrm.Add(new TrailResultMarked(
                            new TrailResult(new ActivityWrapper(id, Plugin.GetApplication().SystemPreferences.RouteSettings.RouteSelectedColor)),
                            t));
                        this.MarkTrack(aTrm);
                    }
                }
            }
        }