public virtual GanttTimelineCellsInfo GetTimelineCellInfoForDayHalfHoursRange( GanttViewTimelineDataItem item) { int num1 = 48; int numberOfCells = num1; int num2 = item.End.Hour == 0 ? 24 : item.End.Hour; if (item.Start <= this.AdjustedTimelineStart) { if (item.Start.Hour > 0) { numberOfCells -= item.Start.Hour * 2; } if (item.Start.Minute >= 30) { --numberOfCells; } } if (item.End >= this.AdjustedTimelineEnd) { if (num2 * 2 < num1) { numberOfCells -= num1 - num2 * 2; } if (item.End.Minute > 0) { ++numberOfCells; } } return(new GanttTimelineCellsInfo(numberOfCells)); }
public virtual string GetTimelineTopElementText(GanttViewTimelineDataItem item) { switch (item.Range) { case TimeRange.Week: string localizedString = LocalizationProvider <GanttViewLocalizationProvider> .CurrentProvider.GetLocalizedString("TimelineWeek"); return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentUICulture, this.TimelineUpperItemFormat ?? "{0}#{1}, {2:yyyy}", (object)localizedString, (object)this.WeekNumber(item.Start), (object)item.Start)); case TimeRange.Month: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentUICulture, this.TimelineUpperItemFormat ?? "{0:MMMM, yyyy}", (object)item.Start)); case TimeRange.Year: case TimeRange.YearHalves: case TimeRange.YearQuarters: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentUICulture, this.TimelineUpperItemFormat ?? "{0:yyyy}", (object)item.Start)); case TimeRange.Day: case TimeRange.DayHalfHours: case TimeRange.DayQuarterHours: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentUICulture, this.TimelineUpperItemFormat ?? "{0:dd, MMMM}", (object)item.Start)); case TimeRange.Hour: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentUICulture, this.TimelineUpperItemFormat ?? "{0:HH:mm}", (object)item.Start)); default: return(string.Empty); } }
public virtual string GetTimelineBottomElementText(GanttViewTimelineDataItem item, int index) { switch (item.Range) { case TimeRange.Week: case TimeRange.Month: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentCulture, this.TimelineLowerItemFormat ?? "{0:dd}", (object)item.Start.AddDays((double)index))); case TimeRange.Year: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentCulture, this.TimelineLowerItemFormat ?? "{0:MMMM}", (object)item.Start.AddMonths(index))); case TimeRange.YearHalves: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentCulture, this.TimelineLowerItemFormat ?? "H{0}", (object)(index + 1))); case TimeRange.YearQuarters: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentCulture, this.TimelineLowerItemFormat ?? "Q{0}", (object)(index + 1))); case TimeRange.Day: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentCulture, this.TimelineLowerItemFormat ?? "{0:HH:mm}", (object)item.Start.AddHours((double)index))); case TimeRange.DayHalfHours: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentCulture, this.TimelineLowerItemFormat ?? "{0:HH:mm}", (object)item.Start.AddMinutes((double)(30 * index)))); case TimeRange.DayQuarterHours: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentCulture, this.TimelineLowerItemFormat ?? "{0:HH:mm}", (object)item.Start.AddMinutes((double)(15 * index)))); case TimeRange.Hour: return(string.Format((IFormatProvider)Thread.CurrentThread.CurrentCulture, this.TimelineLowerItemFormat ?? "{0:mm}", (object)item.Start.AddMinutes((double)index))); default: return(string.Empty); } }
public virtual IList <GanttViewTimelineDataItem> BuildTimelineDataItemsForYearQuartersRange() { List <GanttViewTimelineDataItem> timelineDataItemList = new List <GanttViewTimelineDataItem>(); DateTime adjustedTimelineStart = this.AdjustedTimelineStart; DateTime adjustedTimelineEnd = this.AdjustedTimelineEnd; double num1 = (DateTime.IsLeapYear(adjustedTimelineStart.Year) ? 366.0 : 365.0) / 4.0; DateTime dateTime = adjustedTimelineStart.Date; int num2 = adjustedTimelineStart.Year; GanttViewTimelineDataItem timelineDataItem = new GanttViewTimelineDataItem(adjustedTimelineStart.Date, adjustedTimelineStart.Date.AddDays((double)(int)num1), this.GraphicalViewElement.TimelineRange, this.GraphicalViewElement.OnePixelTime); timelineDataItemList.Add(timelineDataItem); while (dateTime < adjustedTimelineEnd) { timelineDataItem.End = dateTime.AddDays(num1); dateTime = dateTime.AddDays(num1); int year = dateTime.Year; if (year != num2 && dateTime <= adjustedTimelineEnd) { num1 = (DateTime.IsLeapYear(year) ? 366.0 : 365.0) / 4.0; num2 = year; timelineDataItem = new GanttViewTimelineDataItem(dateTime, dateTime, this.GraphicalViewElement.TimelineRange, this.GraphicalViewElement.OnePixelTime); timelineDataItemList.Add(timelineDataItem); } } return((IList <GanttViewTimelineDataItem>)timelineDataItemList); }
public GanttViewTimelineItemFormattingEventArgs( GanttViewTimelineDataItem item, GanttViewTimelineItemElement itemElement) { this.item = item; this.itemElement = itemElement; }
public virtual GanttTimelineCellsInfo GetTimelineCellInfoForHourRange( GanttViewTimelineDataItem item) { int num = 60; int numberOfCells = num; if (item.Start <= this.AdjustedTimelineStart && item.Start.Minute > 0) { numberOfCells -= item.Start.Minute; } if (item.End >= this.AdjustedTimelineEnd && item.End.Hour < num) { numberOfCells -= num - item.End.Minute; } return(new GanttTimelineCellsInfo(numberOfCells)); }
public virtual GanttTimelineCellsInfo GetTimelineCellInfoForYearRange( GanttViewTimelineDataItem item) { int num = 12; int numberOfCells = 12; if (item.Start == this.AdjustedTimelineStart && item.Start.Month > 1) { numberOfCells -= item.Start.Month - 1; } if (item.End == this.AdjustedTimelineEnd && item.End.AddDays(-1.0).Month < num) { numberOfCells -= num - item.End.AddDays(-1.0).Month; } return(new GanttTimelineCellsInfo(numberOfCells)); }
public virtual GanttTimelineCellsInfo GetTimelineCellInfoForMonthRange( GanttViewTimelineDataItem item) { int num = DateTime.DaysInMonth(item.Start.Year, item.Start.Month); int numberOfCells = num; if (item.Start <= this.AdjustedTimelineStart && item.Start.Day > 1) { numberOfCells -= item.Start.Day - 1; } if (item.End >= this.AdjustedTimelineEnd && item.End.AddDays(-1.0).Day < num) { numberOfCells -= num - item.End.AddDays(-1.0).Day; } return(new GanttTimelineCellsInfo(numberOfCells)); }
public virtual GanttTimelineCellsInfo GetTimelineCellInfoForYearHalvesRange( GanttViewTimelineDataItem item) { int numberOfCells = 2; int startIndex = 0; double num = (DateTime.IsLeapYear(item.Start.Year) ? 366.0 : 365.0) / 2.0; if ((double)item.Start.DayOfYear > num) { numberOfCells = 1; startIndex = 1; } if ((double)item.End.AddDays(-1.0).DayOfYear <= num) { numberOfCells = 1; } return(new GanttTimelineCellsInfo(numberOfCells, startIndex)); }
public virtual GanttTimelineCellsInfo GetTimelineCellInfoForYearQuartersRange( GanttViewTimelineDataItem item) { int numberOfCells = 4; int startIndex = 0; float num1 = (DateTime.IsLeapYear(item.Start.Year) ? 366f : 365f) / 4f; float num2 = num1 * 2f; float num3 = num1 + num2; float dayOfYear1 = (float)item.Start.DayOfYear; float dayOfYear2 = (float)item.End.AddDays(-1.0).DayOfYear; if ((double)dayOfYear1 >= (double)num1) { --numberOfCells; ++startIndex; if ((double)dayOfYear1 >= (double)num2) { --numberOfCells; ++startIndex; if ((double)dayOfYear1 >= (double)num3) { --numberOfCells; ++startIndex; } } } if (numberOfCells > 1 && (double)dayOfYear2 <= (double)num3) { --numberOfCells; if (numberOfCells > 1 && (double)dayOfYear2 <= (double)num2) { --numberOfCells; if (numberOfCells > 1 && (double)dayOfYear2 <= (double)num1) { --numberOfCells; } } } return(new GanttTimelineCellsInfo(numberOfCells, startIndex)); }
public virtual GanttTimelineCellsInfo GetTimelineCellInfoForItem( GanttViewTimelineDataItem item, TimeRange timeRange) { switch (timeRange) { case TimeRange.Week: return(this.GetTimelineCellInfoForWeekRange(item)); case TimeRange.Month: return(this.GetTimelineCellInfoForMonthRange(item)); case TimeRange.Year: return(this.GetTimelineCellInfoForYearRange(item)); case TimeRange.YearHalves: return(this.GetTimelineCellInfoForYearHalvesRange(item)); case TimeRange.YearQuarters: return(this.GetTimelineCellInfoForYearQuartersRange(item)); case TimeRange.Day: return(this.GetTimelineCellInfoForDayRange(item)); case TimeRange.DayHalfHours: return(this.GetTimelineCellInfoForDayHalfHoursRange(item)); case TimeRange.DayQuarterHours: return(this.GetTimelineCellInfoForDayQuarterHoursRange(item)); case TimeRange.Hour: return(this.GetTimelineCellInfoForHourRange(item)); default: return(new GanttTimelineCellsInfo()); } }
public virtual IList <GanttViewTimelineDataItem> BuildTimelineDataItemsForMonthRange() { List <GanttViewTimelineDataItem> timelineDataItemList = new List <GanttViewTimelineDataItem>(); DateTime adjustedTimelineStart = this.AdjustedTimelineStart; DateTime adjustedTimelineEnd = this.AdjustedTimelineEnd; DateTime dateTime = adjustedTimelineStart.Date; int num = adjustedTimelineStart.Month; GanttViewTimelineDataItem timelineDataItem = new GanttViewTimelineDataItem(adjustedTimelineStart.Date, adjustedTimelineStart.AddDays(1.0), this.GraphicalViewElement.TimelineRange, this.GraphicalViewElement.OnePixelTime); timelineDataItemList.Add(timelineDataItem); while (dateTime < adjustedTimelineEnd) { timelineDataItem.End = dateTime.AddDays(1.0); dateTime = dateTime.AddDays(1.0); int month = dateTime.Month; if (month != num && dateTime.AddDays(1.0) <= adjustedTimelineEnd) { num = month; timelineDataItem = new GanttViewTimelineDataItem(dateTime, dateTime, this.GraphicalViewElement.TimelineRange, this.GraphicalViewElement.OnePixelTime); timelineDataItemList.Add(timelineDataItem); } } return((IList <GanttViewTimelineDataItem>)timelineDataItemList); }
public virtual IList <GanttViewTimelineDataItem> BuildTimelineDataItemsForHourRange() { List <GanttViewTimelineDataItem> timelineDataItemList = new List <GanttViewTimelineDataItem>(); DateTime adjustedTimelineStart = this.AdjustedTimelineStart; DateTime adjustedTimelineEnd = this.AdjustedTimelineEnd; DateTime dateTime = adjustedTimelineStart; int num = adjustedTimelineStart.Hour; GanttViewTimelineDataItem timelineDataItem = new GanttViewTimelineDataItem(adjustedTimelineStart, adjustedTimelineStart.AddMinutes(1.0), this.GraphicalViewElement.TimelineRange, this.GraphicalViewElement.OnePixelTime); timelineDataItemList.Add(timelineDataItem); while (dateTime < adjustedTimelineEnd) { timelineDataItem.End = dateTime.AddMinutes(1.0); dateTime = dateTime.AddMinutes(1.0); int hour = dateTime.Hour; if (hour != num && dateTime.AddMinutes(1.0) <= adjustedTimelineEnd) { num = hour; timelineDataItem = new GanttViewTimelineDataItem(dateTime, dateTime, this.GraphicalViewElement.TimelineRange, this.GraphicalViewElement.OnePixelTime); timelineDataItemList.Add(timelineDataItem); } } return((IList <GanttViewTimelineDataItem>)timelineDataItemList); }
public virtual IList <GanttViewTimelineDataItem> BuildTimelineDataItemsForYearRange() { List <GanttViewTimelineDataItem> timelineDataItemList = new List <GanttViewTimelineDataItem>(); DateTime adjustedTimelineStart = this.AdjustedTimelineStart; DateTime adjustedTimelineEnd = this.AdjustedTimelineEnd; DateTime dateTime = adjustedTimelineStart.Date; int num = dateTime.Year; GanttViewTimelineDataItem timelineDataItem = new GanttViewTimelineDataItem(dateTime.Date, dateTime.AddMonths(1), this.GraphicalViewElement.TimelineRange, this.GraphicalViewElement.OnePixelTime); timelineDataItemList.Add(timelineDataItem); while (dateTime < adjustedTimelineEnd) { timelineDataItem.End = dateTime.AddMonths(1); dateTime = dateTime.AddMonths(1); int year = dateTime.Year; if (year != num && dateTime <= adjustedTimelineEnd) { num = year; timelineDataItem = new GanttViewTimelineDataItem(dateTime, dateTime, this.GraphicalViewElement.TimelineRange, this.GraphicalViewElement.OnePixelTime); timelineDataItemList.Add(timelineDataItem); } } return((IList <GanttViewTimelineDataItem>)timelineDataItemList); }
public virtual void FillRangesMinWidths() { if (this.GraphicalViewElement.TimelineContainer.Children == null || this.GraphicalViewElement.TimelineContainer.Children.Count == 0) { return; } GanttViewTimelineItemElement child = this.GraphicalViewElement.TimelineContainer.Children[0] as GanttViewTimelineItemElement; if (child.BottomElement.Children == null || child.BottomElement.Children.Count == 0) { return; } Font font = ((VisualElement)child.BottomElement.Children[0]).Font; this.RangesMinWidths.Clear(); Graphics graphics = Graphics.FromHwnd(IntPtr.Zero); float num1 = 0.0f; float num2 = 0.0f; GanttViewTimelineDataItem timelineDataItem = new GanttViewTimelineDataItem(DateTime.Now, DateTime.Now, TimeRange.YearHalves, this.GraphicalViewElement.OnePixelTime); for (int index = 0; index < 2; ++index) { timelineDataItem.Start = new DateTime(DateTime.Now.Year, index * 7 + 1, 1); timelineDataItem.End = timelineDataItem.Start.AddDays(1.0); float width = graphics.MeasureString(this.GetTimelineBottomElementText(timelineDataItem, index), font).Width; if ((double)width > (double)num2) { num2 = width + 6f; } } this.RangesMinWidths.Add(TimeRange.YearHalves, (int)((double)num2 * 2.0)); timelineDataItem.Range = TimeRange.YearQuarters; num1 = 0.0f; float num3 = 0.0f; for (int index = 0; index < 4; ++index) { timelineDataItem.Start = new DateTime(DateTime.Now.Year, index * 3 + 2, 1); timelineDataItem.End = timelineDataItem.Start.AddDays(1.0); float width = graphics.MeasureString(this.GetTimelineBottomElementText(timelineDataItem, index + 1), font).Width; if ((double)width > (double)num3) { num3 = width + 6f; } } this.RangesMinWidths.Add(TimeRange.YearQuarters, (int)((double)num3 * 4.0)); timelineDataItem.Range = TimeRange.Year; num1 = 0.0f; float num4 = 0.0f; for (int index = 0; index < 12; ++index) { timelineDataItem.Start = new DateTime(DateTime.Now.Year, index + 1, 1); timelineDataItem.End = timelineDataItem.Start.AddMonths(1); float width = graphics.MeasureString(this.GetTimelineBottomElementText(timelineDataItem, 0), font).Width; if ((double)width > (double)num4) { num4 = width + 6f; } } this.RangesMinWidths.Add(TimeRange.Year, (int)((double)num4 * 12.0)); timelineDataItem.Range = TimeRange.Month; num1 = 0.0f; float num5 = 0.0f; for (int index = 0; index < 31; ++index) { timelineDataItem.Start = new DateTime(DateTime.Now.Year, 1, index + 1); timelineDataItem.End = timelineDataItem.Start.AddDays(1.0); float width = graphics.MeasureString(this.GetTimelineBottomElementText(timelineDataItem, 0), font).Width; if ((double)width > (double)num5) { num5 = width + 6f; } } this.RangesMinWidths.Add(TimeRange.Month, (int)((double)num5 * 31.0)); timelineDataItem.Range = TimeRange.Day; num1 = 0.0f; float num6 = 0.0f; for (int index = 0; index < 24; ++index) { timelineDataItem.Start = new DateTime(DateTime.Now.Year, 1, 1).AddHours((double)index); timelineDataItem.End = timelineDataItem.Start.AddHours(1.0); float width = graphics.MeasureString(this.GetTimelineBottomElementText(timelineDataItem, 0), font).Width; if ((double)width > (double)num6) { num6 = width + 6f; } } this.RangesMinWidths.Add(TimeRange.Day, (int)((double)num6 * 24.0)); timelineDataItem.Range = TimeRange.DayHalfHours; num1 = 0.0f; float num7 = 0.0f; for (int index = 0; index < 48; ++index) { timelineDataItem.Start = new DateTime(DateTime.Now.Year, 1, 1).AddMinutes((double)(30 * index)); timelineDataItem.End = timelineDataItem.Start.AddMinutes(30.0); float width = graphics.MeasureString(this.GetTimelineBottomElementText(timelineDataItem, 0), font).Width; if ((double)width > (double)num7) { num7 = width + 6f; } } this.RangesMinWidths.Add(TimeRange.DayHalfHours, (int)((double)num7 * 48.0)); timelineDataItem.Range = TimeRange.Hour; num1 = 0.0f; float num8 = 0.0f; for (int index = 0; index < 60; ++index) { timelineDataItem.Start = new DateTime(DateTime.Now.Year, 1, 1).AddMinutes((double)index); timelineDataItem.End = timelineDataItem.Start.AddMinutes(1.0); float width = graphics.MeasureString(this.GetTimelineBottomElementText(timelineDataItem, 0), font).Width; if ((double)width > (double)num8) { num8 = width + 6f; } } this.RangesMinWidths.Add(TimeRange.Hour, (int)((double)num8 * 60.0)); }
public virtual GanttTimelineCellsInfo GetTimelineCellInfoForWeekRange( GanttViewTimelineDataItem item) { return(new GanttTimelineCellsInfo((int)Math.Ceiling((item.End - item.Start).TotalDays))); }
public GanttViewTimelineItemElementCreatingEventArgs(GanttViewTimelineDataItem item) { this.item = item; }