public GanttViewTimelineItemFormattingEventArgs( GanttViewTimelineDataItem item, GanttViewTimelineItemElement itemElement) { this.item = item; this.itemElement = itemElement; }
protected override bool MeasureElement( IVirtualizedElement <GanttViewTimelineDataItem> element) { GanttViewTimelineItemElement timelineItemElement = element as GanttViewTimelineItemElement; if (timelineItemElement == null) { return(false); } SizeF sizeF = this.MeasureElementCore((RadElement)timelineItemElement, this.availableSize); this.desiredSize.Height = Math.Max(this.desiredSize.Height, sizeF.Height); this.desiredSize.Width += sizeF.Width; return((double)this.desiredSize.Width - (double)this.Owner.TimelineScroller.Scrollbar.Value < (double)this.availableSize.Width); }
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)); }