private DragDropEffects ComputeDropEffects(DragEventArgs e) { if (this.TargetItem != null) { TimelineDropEffects requestedEffects1 = TimelineDropEffects.None; if ((e.AllowedEffects & DragDropEffects.Copy) != DragDropEffects.None && (e.KeyStates & DragDropKeyStates.ControlKey) != DragDropKeyStates.None) { requestedEffects1 |= TimelineDropEffects.Copy; } if ((e.AllowedEffects & DragDropEffects.Move) != DragDropEffects.None) { requestedEffects1 |= TimelineDropEffects.Move; } if (this.ShouldTryDropInsideFirst && this.TryDrop(e, requestedEffects1)) { return(this.DragDropContext.Descriptor.ResultEffects); } TimelineDropEffects requestedEffects2 = requestedEffects1 | (this.StructureView.TimelineItemManager.SortByZOrder ? TimelineDropEffects.After : TimelineDropEffects.Before); if (this.TryDrop(e, requestedEffects2)) { return(this.DragDropContext.Descriptor.ResultEffects); } } if (this.DragDropContext == null) { return(DragDropEffects.None); } this.DragDropContext.Descriptor.DisableDrop(); return(this.DragDropContext.Descriptor.ResultEffects); }
public DragDropContext(IDataObject data, TimelineItem target, TimelineDropEffects allowedEffects) { this.Data = data; this.Target = target; this.AllowedEffects = allowedEffects; this.Descriptor = new TimelineDragDescriptor(this); }
private void SetFlag(TimelineDropEffects effects, bool value) { if (value) { this.ResultDropEffects |= effects; } else { this.ResultDropEffects &= ~effects; } }
private bool TryDrop(DragEventArgs e, TimelineDropEffects requestedEffects) { this.DragDropContext = new DragDropContext(e.Data, this.TargetItem, requestedEffects); IDropAction instance = DropActionFactory.CreateInstance(this.DragDropContext); if (instance != null) { return(instance.CanDrop(this.DragDropContext.Descriptor)); } return(false); }
public static TimelineDropEffects FromDragDropEffects(DragDropEffects effects) { TimelineDropEffects timelineDropEffects = TimelineDropEffects.None; if ((effects & DragDropEffects.Copy) != DragDropEffects.None) { timelineDropEffects |= TimelineDropEffects.Copy; } else if ((effects & DragDropEffects.Move) != DragDropEffects.None) { timelineDropEffects |= TimelineDropEffects.Move; } return(timelineDropEffects); }
public static DragDropEffects DragDropEffect(TimelineDropEffects effects) { DragDropEffects dragDropEffects = DragDropEffects.None; if ((TimelineDropEffects.Copy & effects) != TimelineDropEffects.None) { dragDropEffects |= DragDropEffects.Copy; } if ((TimelineDropEffects.Move & effects) != TimelineDropEffects.None) { dragDropEffects |= DragDropEffects.Move; } return(dragDropEffects); }
protected SceneElement GetDropTargetInfo(TimelineDropEffects dropEffects, TimelineDragDescriptor descriptor) { SceneElement sceneElement1 = this.Element; if (sceneElement1 == null) { return((SceneElement)null); } descriptor.DropIndex = -1; int num = 0; SceneElement sceneElement2 = (SceneElement)null; bool flag = false; if ((dropEffects & TimelineDropEffects.Before) != TimelineDropEffects.None) { sceneElement1 = this.Element.VisualElementAncestor; sceneElement2 = this.Element.VisualElementAncestor; if (this.Item.IsExpanded && this.Item.HasActiveChild) { sceneElement1 = this.Element; sceneElement2 = this.Element; descriptor.RelativeDepth = 1; } num = 1; flag = true; } else if ((dropEffects & TimelineDropEffects.After) != TimelineDropEffects.None) { sceneElement1 = this.Element.VisualElementAncestor; sceneElement2 = this.Element.VisualElementAncestor; flag = true; } if (flag && sceneElement2 != null) { ISceneNodeCollection <SceneNode> collectionForProperty = sceneElement2.GetCollectionForProperty((IPropertyId)this.GetContentPropertyFromDragDescriptor(descriptor)); if (collectionForProperty != null) { descriptor.DropIndex = collectionForProperty.IndexOf((SceneNode)this.Element) + num; } } if (!this.Element.ViewModel.ActiveEditingContainer.IsAncestorOf((SceneNode)sceneElement1)) { sceneElement1 = (SceneElement)null; } return(sceneElement1); }
private DragDropEffects ComputeDropEffects(DragEventArgs e) { TimelineDropEffects allowedEffects1 = TimelineDropEffects.None; if ((this.HitTestResult & DropHitTestResults.UpperHalf) != DropHitTestResults.None) { allowedEffects1 = !this.TimelineItem.TimelineItemManager.SortByZOrder ? TimelineDropEffects.After : TimelineDropEffects.Before; } else if ((this.HitTestResult & DropHitTestResults.LowerHalf) != DropHitTestResults.None) { allowedEffects1 = !this.TimelineItem.TimelineItemManager.SortByZOrder ? TimelineDropEffects.Before : TimelineDropEffects.After; } if ((e.AllowedEffects & DragDropEffects.Copy) != DragDropEffects.None && this.IsCopyKeyState(e.KeyStates)) { allowedEffects1 |= TimelineDropEffects.Copy; } if ((e.AllowedEffects & DragDropEffects.Move) != DragDropEffects.None) { allowedEffects1 |= TimelineDropEffects.Move; } if ((this.HitTestResult & DropHitTestResults.CenterHalf) != DropHitTestResults.None) { TimelineDropEffects allowedEffects2 = allowedEffects1 & ~(TimelineDropEffects.Before | TimelineDropEffects.After); this.DragDropContext = new DragDropContext(e.Data, this.TimelineItem, allowedEffects2); IDropAction instance = DropActionFactory.CreateInstance(this.DragDropContext); if (instance != null && instance.CanDrop(this.DragDropContext.Descriptor)) { return(this.DragDropContext.Descriptor.ResultEffects); } } this.DragDropContext = new DragDropContext(e.Data, this.TimelineItem, allowedEffects1); IDropAction instance1 = DropActionFactory.CreateInstance(this.DragDropContext); if (instance1 != null && instance1.CanDrop(this.DragDropContext.Descriptor)) { return(this.DragDropContext.Descriptor.ResultEffects); } this.DragDropContext.Descriptor.DisableDrop(); return(this.DragDropContext.Descriptor.ResultEffects); }
private bool IsAnyFlagSet(TimelineDropEffects effects) { return((this.ResultDropEffects & effects) != TimelineDropEffects.None); }