public void Should_Limit_Dropzone_To_MaxItems() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { }); service.RegisterDropzone(2, new DropzoneOptions() { MaxItems = 1 }); var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 1 }; var draggable2 = new DraggableItem(service) { Id = 2, DropzoneId = 1 }; service.RegisterDraggableForDropzone(draggable1); service.RegisterDraggableForDropzone(draggable2); service.ActiveItem = draggable1; service.DropActiveItem(2); service.ActiveItem = draggable2; service.DropActiveItem(2); var result = service.GetDraggablesForDropzone(2).Single(); Assert.AreEqual(draggable1.Id, result.Id); }
public void Should_DropActiveItem() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { }); service.RegisterDropzone(2, new DropzoneOptions() { }); var draggable = new DraggableItem(service) { Id = 1, DropzoneId = 1 }; service.RegisterDraggableForDropzone(draggable); service.ActiveItem = draggable; service.DropActiveItem(2); var result = service.GetDraggablesForDropzone(2).Single(); Assert.AreEqual(draggable.Id, result.Id); }
public void Should_GetDropzoneByName() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { Name = "Dropzone1" }); service.RegisterDropzone(2, new DropzoneOptions() { Name = "Dropzone2" }); var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 1 }; service.RegisterDraggableForDropzone(draggable1); service.ActiveItem = draggable1; service.DropActiveItem(2); var result = service.GetDraggablesForDropzone("Dropzone2"); Assert.AreEqual(1, result.Count); Assert.AreEqual(result[0].Id, 1); }
public void Should_ReturnFalse_HasDropzoneDraggables() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { Name = "Dropzone1" }); service.RegisterDropzone(2, new DropzoneOptions() { Name = "Dropzone2" }); var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 1 }; service.RegisterDraggableForDropzone(draggable1); service.ActiveItem = draggable1; service.DropActiveItem(2); var result = service.HasDropzoneDraggables("Dropzone1"); Assert.AreEqual(false, result); }
public void Should_RemoveDraggableItem() { var service = new DragDropService(null); dynamic isDelegateCalled = new { }; service.RegisterDropzone(1, new DropzoneOptions() { }); var draggable = new DraggableItem(service) { Id = 1, DropzoneId = 1, Tag = new { Test = "OnDropTagTest" }, OnDrop = (d, i) => isDelegateCalled = d }; service.RegisterDraggableForDropzone(draggable); Assert.IsTrue(service.HasDropzoneDraggables(1)); service.RemoveDraggableItem(draggable); Assert.IsFalse(service.HasDropzoneDraggables(1)); }
public void Should_Execute_AcceptFuncOfDropzone_AcceptTest() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { }); service.RegisterDropzone(2, new DropzoneOptions() { Accepts = (d) => d.Name == "Testme" }); var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 1, Tag = new { Name = "Testme" } }; service.RegisterDraggableForDropzone(draggable1); service.ActiveItem = draggable1; service.DropActiveItem(2); var result = service.GetDraggablesForDropzone(2); Assert.AreEqual(1, result.Count); }
public void Should_ClearActiveItemUponDropInSameDropzone() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { }); service.RegisterDropzone(2, new DropzoneOptions() { }); var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 2, }; var draggable2 = new DraggableItem(service) { Id = 2, DropzoneId = 2, }; service.ActiveItem = draggable1; service.DropActiveItem(2); Assert.IsTrue(service.ActiveItem == null); }
public void Should_DropActiveItemAndCallOnDrop_SameDropzones() { var service = new DragDropService(null); dynamic isDelegateCalled = new { }; service.RegisterDropzone(1, new DropzoneOptions() { }); var draggable = new DraggableItem(service) { Id = 1, DropzoneId = 1, Tag = new { Test = "OnDropTagTest" }, OnDrop = (d, i) => isDelegateCalled = d }; service.RegisterDraggableForDropzone(draggable); service.ActiveItem = draggable; service.DropActiveItem(1); Assert.AreEqual("OnDropTagTest", isDelegateCalled.Test); }
public void Should_AllowSwappingInSameDropzone_And_MaxItems() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { MaxItems = 2 }); var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 1 }; var draggable2 = new DraggableItem(service) { Id = 2, DropzoneId = 1 }; service.RegisterDraggableForDropzone(draggable1); service.RegisterDraggableForDropzone(draggable2); Assert.AreEqual(0, draggable1.OrderPosition); Assert.AreEqual(1, draggable2.OrderPosition); service.ActiveItem = draggable1; service.SwapOrInsert(2); Assert.AreEqual(0, draggable2.OrderPosition); Assert.AreEqual(1, draggable1.OrderPosition); }
/* * DoDrop */ /// <summary> /// Invokes service specific nodes merge operation. /// </summary> /// <exception cref="T:System.ArgumentNullException"><paramref name="selectedNodes"/> is <see langword="null"/>.</exception> public override void DoDrop(TreeNode targetTreeNode, IList <TreeNode> selectedNodes, NuGenDropPosition dropPosition) { if (selectedNodes == null) { throw new ArgumentNullException("selectedNodes"); } if ( targetTreeNode == null || DragDropService.CheckSelectedContainTarget(targetTreeNode, selectedNodes) || !DragDropService.CheckParent(targetTreeNode, selectedNodes) ) { return; } switch (dropPosition) { case NuGenDropPosition.After: case NuGenDropPosition.Before: { DragDropService.MoveNodes(targetTreeNode, selectedNodes, dropPosition); break; } case NuGenDropPosition.Inside: { DragDropService.InsertNodes(targetTreeNode, selectedNodes); break; } } }
public void Should_DropActiveItemAndCallOnDrop() { var service = new DragDropService(null); dynamic isDelegateCalled = new { }; service.RegisterDropzone(1, new DropzoneOptions() { }); service.RegisterDropzone(2, new DropzoneOptions() { }); var draggable = new DraggableItem(service) { Id = 1, DropzoneId = 1, Tag = new { Test = "OnDropTagTest" }, OnDrop = (d) => isDelegateCalled = d }; service.RegisterDraggableForDropzone(draggable); service.ActiveItem = draggable; service.DropActiveItem(2); var result = service.GetDraggablesForDropzone(2).Single(); Assert.AreEqual(draggable.Id, result.Id); Assert.AreEqual("OnDropTagTest", isDelegateCalled.Test); }
public void Should_ReturnFalse_HasDropzoneDraggables_GivenInvalidName() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { Name = "Dropzone1" }); service.RegisterDropzone(2, new DropzoneOptions() { Name = "Dropzone2" }); var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 1 }; service.RegisterDraggableForDropzone(draggable1); service.ActiveItem = draggable1; service.DropActiveItem(2); Assert.ThrowsException <ArgumentException>(() => service.HasDropzoneDraggables("Dropzone3")); }
private void WireServiceEvents() { DragDropService service = this.radDock1.GetService <DragDropService>(); service.Starting += new StateServiceStartingEventHandler(OnDragDropService_Starting); service.PreviewDropTarget += new DragDropTargetEventHandler(OnDragDropService_PreviewDropTarget); service.PreviewDockPosition += new DragDropDockPositionEventHandler(OnDragDropService_PreviewDockPosition); }
public DockingGuidePopup(DragDropService owner, DockingGuidesPosition position) { this.owner = owner; this.position = position; this.lastHitPosition = null; this.TopMost = true; this.HitTestable = false; UpdateFromPosition(); }
/* * InsertNodes */ /// <summary> /// Inserts selected nodes into the specified <paramref name="targetNode"/>. /// </summary> /// <param name="targetNode"></param> /// <param name="selected"></param> /// <exception cref="ArgumentNullException"> /// <paramref name="selected"/> is <see langword="null"/>. /// </exception> private static void InsertNodes(TreeNode targetNode, IList <TreeNode> selected) { DragDropService.RemoveNodesFromParents(selected); foreach (TreeNode treeNode in selected) { targetNode.Nodes.Add(treeNode); } targetNode.Expand(); }
public void Should_GetDraggablesForDropzone_NoDraggables() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { }); var result = service.GetDraggablesForDropzone(1); Assert.AreEqual(0, result.Count); }
public void Should_CheckAllowDrag_False() { var service = new DragDropService(null); var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 1, Tag = new { Test = false }, AllowDrag = (d) => d.Tag.Test }; var isDragable = service.IsDraggable(draggable1); Assert.AreEqual(false, isDragable); }
public SelectView1() { InitializeComponent(); DragDropService service = radDock1.GetService <DragDropService>(); service.Enabled = false; ContextMenuService menuService = radDock1.GetService <ContextMenuService>(); menuService.ContextMenuDisplaying += MenuServiceContextMenuDisplaying; documentTabStrip1.TabStripElement.ItemDragMode = PageViewItemDragMode.None; documentTabStrip1.OverflowMenuButton.ActionButton.ToolTipText = "Portfólios"; LoadData(); }
public void Should_GetDraggablesForDropzone_OneDraggable() { var service = new DragDropService(null); service.RegisterDropzone(1, new DropzoneOptions() { }); service.RegisterDraggableForDropzone(new DraggableItem(service) { DropzoneId = 1 }); var result = service.GetDraggablesForDropzone(1); Assert.AreEqual(1, result.Count); }
/* * MoveNodes */ /// <summary> /// Moves selected nodes to the new location specified by the <paramref name="targetNode"/> index. /// </summary> /// <param name="targetNode"></param> /// <param name="selected"></param> /// <param name="dropPosition"></param> /// <exception cref="T:System.ArgumentNullException"> /// <paramref name="targetNode"/> is <see langword="null"/> /// -or- /// <paramref name="selected"/> is <see langword="null"/> /// </exception> private static void MoveNodes(TreeNode targetNode, IList <TreeNode> selected, NuGenDropPosition dropPosition) { if (targetNode == null) { throw new ArgumentNullException("targetNode"); } if (selected == null) { throw new ArgumentNullException("selected"); } int targetIndex = 0; if (dropPosition == NuGenDropPosition.After) { targetIndex = targetNode.Index + 1; DragDropService.RemoveNodesFromParents(selected); } else if (dropPosition == NuGenDropPosition.Before) { DragDropService.RemoveNodesFromParents(selected); targetIndex = targetNode.Index; } else { return; } foreach (TreeNode treeNode in selected) { if (targetNode.Parent != null) { targetNode.Parent.Nodes.Insert(targetIndex, treeNode); } else if (targetNode.TreeView != null) { targetNode.TreeView.Nodes.Insert(targetIndex, treeNode); } else { return; } } }
public void Should_RemoveAllItemFromDropzone() { var service = new DragDropService(null); DraggableItem isDelegateCalled = null; service.RegisterDropzone(1, new DropzoneOptions() { Name = "Testzone" }); var draggable = new DraggableItem(service) { Id = 1, DropzoneId = 1, Tag = new { Test = "OnDropTagTest" }, OnDrop = (d) => isDelegateCalled = d }; var draggable1 = new DraggableItem(service) { Id = 1, DropzoneId = 1, Tag = new { Test = "OnDropTagTest" }, OnDrop = (d) => isDelegateCalled = d }; var draggable2 = new DraggableItem(service) { Id = 1, DropzoneId = 1, Tag = new { Test = "OnDropTagTest" }, OnDrop = (d) => isDelegateCalled = d }; service.RegisterDraggableForDropzone(draggable); service.RegisterDraggableForDropzone(draggable1); service.RegisterDraggableForDropzone(draggable2); Assert.IsTrue(service.HasDropzoneDraggables(1)); service.ClearDropzone("Testzone"); Assert.IsFalse(service.HasDropzoneDraggables(1)); }
public Form1() { InitializeComponent(); this.stopTimer = new Timer(this.components); this.stopTimer.Interval = 500; this.stopTimer.Tick += new EventHandler(stopTimer_Tick); this.timer1.Interval = 100; this.service = this.radDock1.GetService <DragDropService>(); this.service.DragDropBehavior = DragDropBehavior.Manual; this.service.PreviewHitTest += new DragDropHitTestEventHandler(service_PreviewHitTest); this.service.Stopped += new EventHandler(service_Stopped); this.toolWindow1.AllowedDockState &= ~AllowedDockState.Hidden; this.toolWindow2.AllowedDockState &= ~AllowedDockState.Hidden; this.toolWindow3.AllowedDockState &= ~AllowedDockState.Hidden; }
/// <summary> /// Allowed Dock Manager Edges /// The service may be told which edges of the owning RadDock instance are allowed for dock operation. /// The following example demonstrates how to set only left and right edges as allowed: /// </summary> private void InitDragDropProperties() { DragDropService service = raddock.GetService <DragDropService>(); //service.AllowedDockManagerEdges = AllowedDockPosition.Left | AllowedDockPosition.Right; }
/// <summary> /// Dock DragDropService Svents /// </summary> private void InitDragDropEvents() { DragDropService service = raddock.GetService <DragDropService>(); service.PreviewDockPosition += new DragDropDockPositionEventHandler(service_PreviewDockPosition); }