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); } } } }