public void CreateTimelineCalculator( string calendarType, DateTime currentDateTime, DateTime minDateTime, DateTime maxDateTime ) { Debug.Assert(this.TimelineTray != null); ItemsSource = new TimelineCalendar(calendarType, m_timelineType, minDateTime, maxDateTime) { TimeFormat24 = TimeFormat24 }; m_calendarType = calendarType; if (ItemTemplate == null) { ItemTemplate = DefaultItemTemplate; } if (TextItemTemplate == null) { TextItemTemplate = DefaultTextItemTemplate; } if (ShortEventTemplate == null) { ShortEventTemplate = DefaultShortEventTemplate; } if (EventTemplate == null) { EventTemplate = DefaultEventTemplate; } if (Calculator != null) { Calculator.ClearEvents(); Calculator.ClearColumns(); } Calculator = new TimelineBuilder( this, CanvasPart, ItemTemplate, TextItemTemplate, TimelineWindowSize, ItemsSource, !IsMainBand ? ShortEventTemplate : EventTemplate, MaxEventHeight, IsMainBand, currentDateTime); Calculator.BuildColumns(); m_calcInitialized = true; }
public void Recalculate(bool fireUpdate = true) { ActualEventPixelWidth = TimelineBuilder.TimeSpanToPixels(Event.EndDate - Event.StartDate); ActualEventPixelWidth = Math.Max(3.0, ActualEventPixelWidth); EventPixelWidth = Math.Min(TimelineBuilder.PixelWidth * 2, ActualEventPixelWidth); FirePropertyChanged("DescriptionWidth"); FirePropertyChanged("DescriptionHeight"); FirePropertyChanged("EventPixelWidth"); FirePropertyChanged("ActualEventPixelWidth"); }
public TimelineDisplayEvent( TimelineEvent e, TimelineTray tray, TimelineBuilder builder ) { if (e.Link == null) { e.Link = String.Empty; } if (e.Description == null) { e.Description = String.Empty; } m_timelineEvent = e; m_selected = e.Selected; m_timelineEvent.PropertyChanged += OnEventPropertyChanged; if (e.HeightOverride == -1.0) { m_eventDescriptionHeight = tray.MainBand.MaxEventHeight; } else { m_eventDescriptionHeight = e.HeightOverride; } if (e.WidthOverride == -1.0) { m_eventDescriptionWidth = tray.DescriptionWidth; } else { m_eventDescriptionWidth = e.WidthOverride; } if (e.TopOverride != -1) { SetCalculatedTop(e.TopOverride); } TimelineBuilder = builder; TimelineTray = tray; UpdateDisplayEvent(); }