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);
        }
示例#2
0
        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);
                }
            }
        }
示例#4
0
        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();
                }
            }
        }