private bool OnDragEnding(DropPosition position, RadTreeNode node, RadTreeNode targetNode) { RadTreeViewDragCancelEventArgs args = new RadTreeViewDragCancelEventArgs(node, targetNode); args.DropPosition = position; this.owner.OnDragEnding(args); return(!args.Cancel); }
protected override void OnPreviewDragOver(RadDragOverEventArgs e) { TreeNodeElement hitTarget1 = e.HitTarget as TreeNodeElement; RadTreeViewElement hitTarget2 = e.HitTarget as RadTreeViewElement; if (hitTarget2 != null) { e.CanDrop = hitTarget2.ElementTree.Control.AllowDrop && hitTarget2.Nodes.Count == 0 && this.IsInValidState(hitTarget2); } else if (hitTarget1 != null) { DropPosition dropPosition = this.GetDropPosition(this.DropLocation, hitTarget1); e.CanDrop = this.CanDragOver(dropPosition, hitTarget1); RadTreeViewDragCancelEventArgs e1 = new RadTreeViewDragCancelEventArgs(this.draggedNode, hitTarget1.Data); e1.Cancel = !e.CanDrop; e1.DropPosition = dropPosition; this.owner.OnDragOverNode(e1); e.CanDrop = !e1.Cancel; } base.OnPreviewDragOver(e); }
protected override bool PrepareContext() { TreeNodeElement context = this.Context as TreeNodeElement; if (context != null) { RadTreeViewDragCancelEventArgs e = new RadTreeViewDragCancelEventArgs(context.Data, (RadTreeNode)null); this.owner.OnDragStarting(e); if (e.Cancel) { return(false); } } bool flag = base.PrepareContext(); if (context != null) { this.owner.OnDragStarted(new RadTreeViewDragEventArgs(context.Data, (RadTreeNode)null)); } return(flag); }
protected override void OnPreviewDragOver(RadDragOverEventArgs e) { base.OnPreviewDragOver(e); TreeNodeElement targetNodeElement = e.HitTarget as TreeNodeElement; RadTreeViewElement treeView = e.HitTarget as RadTreeViewElement; if (treeView != null) { e.CanDrop = treeView.ElementTree.Control.AllowDrop && treeView.Nodes.Count == 0 && this.IsInValidState(treeView); } else if (targetNodeElement != null) { DropPosition dropPosition = this.GetDropPosition(this.DropLocation, targetNodeElement); e.CanDrop = this.CanDragOver(dropPosition, targetNodeElement); RadTreeViewDragCancelEventArgs args = new RadTreeViewDragCancelEventArgs(draggedNode, targetNodeElement.Data); args.Cancel = !e.CanDrop; args.DropPosition = dropPosition; this.owner.OnDragOverNode(args); e.CanDrop = !args.Cancel; } }
protected override bool PrepareContext() { TreeNodeElement nodeElement = this.Context as TreeNodeElement; if (nodeElement != null) { RadTreeViewDragCancelEventArgs args = new RadTreeViewDragCancelEventArgs(nodeElement.Data, null); this.owner.OnDragStarting(args); if (args.Cancel) { return(false); } } bool result = base.PrepareContext(); if (nodeElement != null) { this.owner.OnDragStarted(new RadTreeViewDragEventArgs(nodeElement.Data, null)); } return(result); }