protected override IEnumerable <IEventInfo> GetEventInfos(TimeLineVisualizationState state, Telerik.Windows.Core.HierarchicalItem hierarchicalItem) { foreach (var eventInfo in base.GetEventInfos(state, hierarchicalItem)) { yield return(eventInfo); } var task = hierarchicalItem.SourceItem as GanttTask; if (task != null && !task.IsMilestone) { var roundedStart = state.Rounder.Round(new DateRange(task.Start, task.Start)); var roundedEnd = state.Rounder.Round(new DateRange(task.End, task.End)); var offSetTime = 0.3; var startLabelRange = new Range <long>(roundedStart.Start.AddDays(-1 - offSetTime).Ticks, roundedStart.Start.AddDays(-offSetTime).Ticks); var endLabelRange = new Range <long>(roundedEnd.Start.AddDays(offSetTime).Ticks, roundedEnd.Start.AddDays(1 + offSetTime).Ticks); if (startLabelRange.IntersectsWith(state.VisibleTimeRange)) { yield return(new StartLabelEventInfo(startLabelRange, hierarchicalItem.Index) { OriginalEvent = hierarchicalItem.SourceItem }); } if (endLabelRange.IntersectsWith(state.VisibleTimeRange)) { yield return(new EndLabelEventInfo(endLabelRange, hierarchicalItem.Index) { OriginalEvent = hierarchicalItem.SourceItem }); } } }
protected override IEnumerable <IEventInfo> GetEventInfos(TimeLineVisualizationState state, Telerik.Windows.Core.HierarchicalItem hierarchicalItem) { foreach (var eventInfo in base.GetEventInfos(state, hierarchicalItem)) { yield return(eventInfo); } var task = hierarchicalItem.SourceItem as CustomGanttTask; foreach (var deadLine in task.CustomDeadLines) { if (deadLine != null) { var roundedDeadline = state.Rounder.Round(deadLine); var deadlineRange = new Range <long>(roundedDeadline.Start.Ticks, roundedDeadline.End.Ticks); if (deadlineRange.IntersectsWith(state.VisibleTimeRange)) { yield return(new NationalEventSlotInfo(deadlineRange, hierarchicalItem.Index)); } } } }
protected override IEnumerable <IEventInfo> GetEventInfos(TimeLineVisualizationState state, Telerik.Windows.Core.HierarchicalItem hierarchicalItem) { foreach (var eventInfo in base.GetEventInfos(state, hierarchicalItem)) { yield return(eventInfo); } var task = hierarchicalItem.SourceItem as GanttResourceTask; yield return(new TimeLineResourceEventInfo(new Range <long>(task.End.Ticks, task.End.AddYears(2).Ticks), hierarchicalItem.Index, 1, new Range <int>(0), IsSummary(hierarchicalItem.SourceItem), IsMilestone(hierarchicalItem.SourceItem)) { OriginalEvent = hierarchicalItem.SourceItem }); }
protected override IEnumerable <IEventInfo> GetEventInfos(TimeLineVisualizationState state, Telerik.Windows.Core.HierarchicalItem hierarchicalItem) { foreach (var eventInfo in base.GetEventInfos(state, hierarchicalItem)) { yield return(eventInfo); } var task = hierarchicalItem.SourceItem as GanttDeadlineTask; var deadline = task != null ? task.GanttDeadLine : default(DateTime?); if (deadline.HasValue) { var roundedDeadline = state.Rounder.Round(new DateRange(deadline.Value, deadline.Value)); var deadlineRange = new Range <long>(roundedDeadline.Start.Ticks, roundedDeadline.End.Ticks); if (deadlineRange.IntersectsWith(state.VisibleTimeRange)) { yield return(new TimeLineDeadlineEventInfo(deadlineRange, hierarchicalItem.Index)); } } }