private void timeline_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("Entry")) { TimelineEntry entry = e.Data.GetData("Entry") as TimelineEntry; Point dropPosition = e.GetPosition(this.icEntries); TimeSpan time = getPositionTime(dropPosition.X); TimelineEntry newEntry = new TimelineEntry(entry.Source, new TimeSpan((int)this.Day, time.Hours, time.Minutes, time.Seconds), entry.EndTime, entry.Text, entry.Brush, entry.ToolTip); object[] objects = new object[2] { entry, newEntry }; RaiseEvent(new RoutedEventArgs(EntryChangedEvent, objects)); } if (e.Data.GetDataPresent("Route")) { Point dropPosition = e.GetPosition(this.icEntries); TimeSpan time = getPositionTime(dropPosition.X); //Route route= e.Data.GetData("Route") as Route; Airport route = e.Data.GetData("Route") as Airport; TimelineDropItem entry = new TimelineDropItem(time, this.Day, e.Data.GetData("Route")); RaiseEvent(new RoutedEventArgs(EntryAddedEvent, entry)); //ListView listView = sender as ListView; //listView.Items.Add(contact); } }
private void tlEntry_MouseDown(object sender, MouseButtonEventArgs e) { if (e.ChangedButton == MouseButton.Right) { TimelineEntry entry = (TimelineEntry)((Border)sender).Tag; RaiseEvent(new RoutedEventArgs(EntryDeletedEvent, entry)); } }
//adds an entry to the time table public void addTimelineEntry(object source, TimeSpan startTime, TimeSpan endTime, string text, Brush brush, string tooltip = "") { if (startTime.Days != endTime.Days) { TimeSpan endTimeSplit = new TimeSpan(startTime.Days, 23, 59, 0); addTimelineEntry(source, startTime, endTimeSplit, text, brush, tooltip); TimeSpan startTimeSplit = new TimeSpan(endTime.Days, 0, 0, 0); addTimelineEntry(source, startTimeSplit, endTime, text, brush, tooltip); } else { TimelineEntry entry = new TimelineEntry(source, startTime, endTime, text, brush, tooltip); if (entry.StartTime.Days == 2) { this.TuesdayEntries.Add(entry); } if (entry.StartTime.Days == 3) { this.WednesdayEntries.Add(entry); } if (entry.StartTime.Days == 4) { this.ThursdayEntries.Add(entry); } if (entry.StartTime.Days == 5) { this.FridayEntries.Add(entry); } if (entry.StartTime.Days == 6) { this.SaturdayEntries.Add(entry); } if (entry.StartTime.Days == 0 || entry.StartTime.Days == 7) { this.SundayEntries.Add(entry); } if (entry.StartTime.Days == 1) { this.MondayEntries.Add(entry); } } }
private void timeline_MouseMove(object sender, MouseEventArgs e) { // Get the current mouse position Point mousePos = e.GetPosition(null); Vector diff = startPoint - mousePos; if (e.LeftButton == MouseButtonState.Pressed && (Math.Abs(diff.X) > SystemParameters.MinimumHorizontalDragDistance || Math.Abs(diff.Y) > SystemParameters.MinimumVerticalDragDistance)) { Border border = (Border)sender; TimelineEntry entry = (TimelineEntry)border.Tag; // Initialize the drag & drop operation DataObject dragData = new DataObject("Entry", entry); DragDrop.DoDragDrop(border, dragData, DragDropEffects.Move); } }
private void EntryDeleted_Event(object sender, System.Windows.RoutedEventArgs e) { string day = (string)((ucTimeline)sender).Tag; TimelineEntry entry = (TimelineEntry)e.OriginalSource; if (day == "Sunday") { this.SundayEntries.Remove(entry); } if (day == "Saturday") { this.SaturdayEntries.Remove(entry); } if (day == "Monday") { this.MondayEntries.Remove(entry); } if (day == "Tuesday") { this.TuesdayEntries.Remove(entry); } if (day == "Wednesday") { this.WednesdayEntries.Remove(entry); } if (day == "Thursday") { this.ThursdayEntries.Remove(entry); } if (day == "Friday") { this.FridayEntries.Remove(entry); } RaiseEvent(new RoutedEventArgs(EntryDeletedEvent, entry)); }
//adds an entry to the time table public void addTimelineEntry(object source, TimeSpan startTime, TimeSpan endTime,string text, Brush brush,string tooltip = "") { if (startTime.Days != endTime.Days) { TimeSpan endTimeSplit = new TimeSpan(startTime.Days, 23, 59, 0); addTimelineEntry(source, startTime, endTimeSplit, text, brush, tooltip); TimeSpan startTimeSplit = new TimeSpan(endTime.Days, 0, 0, 0); addTimelineEntry(source, startTimeSplit, endTime, text, brush, tooltip); } else { TimelineEntry entry = new TimelineEntry(source, startTime, endTime, text, brush, tooltip); if (entry.StartTime.Days == 2) this.TuesdayEntries.Add(entry); if (entry.StartTime.Days == 3) this.WednesdayEntries.Add(entry); if (entry.StartTime.Days == 4) this.ThursdayEntries.Add(entry); if (entry.StartTime.Days == 5) this.FridayEntries.Add(entry); if (entry.StartTime.Days == 6) this.SaturdayEntries.Add(entry); if (entry.StartTime.Days == 0 || entry.StartTime.Days == 7) this.SundayEntries.Add(entry); if (entry.StartTime.Days == 1) this.MondayEntries.Add(entry); } }
private void timeline_Drop(object sender, DragEventArgs e) { if (e.Data.GetDataPresent("Entry")) { TimelineEntry entry = e.Data.GetData("Entry") as TimelineEntry; Point dropPosition = e.GetPosition(this.icEntries); TimeSpan time = getPositionTime(dropPosition.X); TimelineEntry newEntry = new TimelineEntry(entry.Source, new TimeSpan((int)this.Day, time.Hours,time.Minutes,time.Seconds), entry.EndTime, entry.Text, entry.Brush, entry.ToolTip); object[] objects = new object[2]{entry,newEntry}; RaiseEvent(new RoutedEventArgs(EntryChangedEvent,objects)); } if (e.Data.GetDataPresent("Route")) { Point dropPosition = e.GetPosition(this.icEntries); TimeSpan time = getPositionTime(dropPosition.X); //Route route= e.Data.GetData("Route") as Route; Airport route = e.Data.GetData("Route") as Airport; TimelineDropItem entry = new TimelineDropItem(time,this.Day,e.Data.GetData("Route")); RaiseEvent(new RoutedEventArgs(EntryAddedEvent, entry)); //ListView listView = sender as ListView; //listView.Items.Add(contact); } }