Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs =================================================================== diff -u -r20f311390d1e8daa85500e8f031d11e9f0f5d9f4 -r3e8e68859b459b44180950af5bf1b62617b5c0f8 --- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 20f311390d1e8daa85500e8f031d11e9f0f5d9f4) +++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 3e8e68859b459b44180950af5bf1b62617b5c0f8) @@ -758,18 +758,18 @@ return GetAsIPipingCalculationItem(draggedData) != null && NodesHaveSameParentFailureMechanism(draggedData, targetData); } - private void PipingCalculationGroupContextOnDrop(TreeNode sourceNode, TreeNode previousParentNode, DragOperations operation, int position) + private void PipingCalculationGroupContextOnDrop(object droppedData, object newParentData, object oldParentData, DragOperations operation, int position, TreeViewControl treeViewControl) { - IPipingCalculationItem pipingCalculationItem = GetAsIPipingCalculationItem(sourceNode.Tag); - var originalOwnerContext = previousParentNode.Tag as PipingCalculationGroupContext; - var target = sourceNode.Parent.Tag as PipingCalculationGroupContext; + IPipingCalculationItem pipingCalculationItem = GetAsIPipingCalculationItem(droppedData); + var originalOwnerContext = oldParentData as PipingCalculationGroupContext; + var target = newParentData as PipingCalculationGroupContext; if (pipingCalculationItem != null && originalOwnerContext != null && target != null) { var isMoveWithinSameContainer = ReferenceEquals(originalOwnerContext, target); DroppingPipingCalculationInContainerStrategy dropHandler = GetDragDropStrategy(isMoveWithinSameContainer, originalOwnerContext, target); - dropHandler.Execute(sourceNode, pipingCalculationItem, position); + dropHandler.Execute(droppedData, pipingCalculationItem, position, treeViewControl); } } @@ -802,10 +802,11 @@ /// /// Perform the drag & drop operation. /// - /// The dragged node. - /// The piping calculation item corresponding with the tag of . + /// The dragged data. + /// The piping calculation item wrapped by . /// The index of the new position within the new owner's collection. - public virtual void Execute(TreeNode draggedNode, IPipingCalculationItem pipingCalculationItem, int newPosition) + /// The tree view control which is at stake. + public virtual void Execute(object draggedData, IPipingCalculationItem pipingCalculationItem, int newPosition, TreeViewControl treeViewControl) { MoveCalculationItemToNewOwner(pipingCalculationItem, newPosition); @@ -868,7 +869,7 @@ public DroppingPipingCalculationToNewContainer(PipingCalculationGroupContext originalOwnerContext, PipingCalculationGroupContext target) : base(originalOwnerContext, target) { } - public override void Execute(TreeNode draggedNode, IPipingCalculationItem pipingCalculationItem, int newPosition) + public override void Execute(object draggedData, IPipingCalculationItem pipingCalculationItem, int newPosition, TreeViewControl treeViewControl) { EnsureDraggedNodeHasUniqueNameInNewOwner(pipingCalculationItem, target); @@ -878,7 +879,7 @@ if (renamed) { - draggedNode.BeginEdit(); + treeViewControl.StartRenameForData(draggedData); } }