private bool SchedulerCanStartDrag(SchedulerControl source, MouseButtonEventArgs e, ref object dragData) { ISchedulerHitInfo hitInfo = SchedulerHitInfo.CreateSchedulerHitInfo(source, e.GetPosition(source)); VisualAppointmentViewInfo vavi = hitInfo.ViewInfo as VisualAppointmentViewInfo; if (vavi != null) { dragData = AppointmentToScheduleTask(((IAppointmentView)vavi).Appointment); return(dragData != null); } return(false); }
void CurrentScheduler_PreviewMouseDown(object sender, System.Windows.Input.MouseButtonEventArgs e) { downHitInfo = null; downHitPoint = Point.Empty; System.Windows.Point eventPoint = e.GetPosition(CurrentScheduler); ISchedulerHitInfo hitInfo = SchedulerHitInfo.CreateSchedulerHitInfo(CurrentScheduler, eventPoint); if (hitInfo.HitTest == DevExpress.XtraScheduler.Drawing.SchedulerHitTest.ResourceHeader) { downHitInfo = hitInfo; downHitPoint = new Point((int)eventPoint.X, (int)eventPoint.Y); e.Handled = true; } }
public void scheduler_Drop(object sender, DragAndDropEventArgs e) { ISchedulerHitInfo hitInfo = SchedulerHitInfo.CreateSchedulerHitInfo(schedulerControl1, e.Location); VisualSelectableIntervalViewInfo vsivi = hitInfo.ViewInfo as VisualSelectableIntervalViewInfo; if (vsivi != null) { IList dragData = (IList)e.DragData; for (int i = 0; i < dragData.Count; i++) { ((IList)gridControl1.ItemsSource).Remove(dragData[i]); Appointment apt = ScheduleTaskToAppointment(dragData[i] as ScheduleTask); apt.Start = vsivi.Interval.Start; schedulerControl1.Storage.AppointmentStorage.Add(apt); } } }
void CurrentScheduler_Drop(object sender, System.Windows.DragEventArgs e) { if (downHitInfo == null) { return; } ISchedulerHitInfo dropHitInfo = SchedulerHitInfo.CreateSchedulerHitInfo(CurrentScheduler, e.GetPosition(CurrentScheduler)); if (dropHitInfo.HitTest == DevExpress.XtraScheduler.Drawing.SchedulerHitTest.ResourceHeader) { Resource targetResource = dropHitInfo.ViewInfo.Resource; Resource sourceResource = downHitInfo.ViewInfo.Resource; if (targetResource != sourceResource) { int sourceResourceSortOrder = Convert.ToInt32(sourceResource.CustomFields[CustomFieldName]); sourceResource.CustomFields[CustomFieldName] = targetResource.CustomFields[CustomFieldName]; targetResource.CustomFields[CustomFieldName] = sourceResourceSortOrder; ApplySorting(); } } }