Index: Core/Common/src/Core.Common.Controls.TreeView/Core.Common.Controls.TreeView.csproj
===================================================================
diff -u -rc8848af0c6f8780634dcce2013e606f090da6577 -r2750ecd900b9e34ba54bb96d233c464b82d7684c
--- Core/Common/src/Core.Common.Controls.TreeView/Core.Common.Controls.TreeView.csproj (.../Core.Common.Controls.TreeView.csproj) (revision c8848af0c6f8780634dcce2013e606f090da6577)
+++ Core/Common/src/Core.Common.Controls.TreeView/Core.Common.Controls.TreeView.csproj (.../Core.Common.Controls.TreeView.csproj) (revision 2750ecd900b9e34ba54bb96d233c464b82d7684c)
@@ -53,7 +53,6 @@
True
Resources.resx
-
Component
Fisheye: Tag 2750ecd900b9e34ba54bb96d233c464b82d7684c refers to a dead (removed) revision in file `Core/Common/src/Core.Common.Controls.TreeView/TreeNodeExpandCollapseState.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs
===================================================================
diff -u -rfbb37872d09f1ded75ce2209e8e48a6b64d8a78f -r2750ecd900b9e34ba54bb96d233c464b82d7684c
--- Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs (.../TreeNodeInfo.cs) (revision fbb37872d09f1ded75ce2209e8e48a6b64d8a78f)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeNodeInfo.cs (.../TreeNodeInfo.cs) (revision 2750ecd900b9e34ba54bb96d233c464b82d7684c)
@@ -146,12 +146,12 @@
///
/// Gets or sets an action for obtaining the logic to perform after dropping a tree node.
- /// The first parameter represents the tree node which is dragged.
- /// The second parameter represents the tree node being considered as drop target.
+ /// The first parameter represents the tree node which was dropped.
+ /// The second parameter represents the former parent tree node.
/// The parameter represents the type of drag operation that was performed.
/// The parameter represents the drop target index which the tree node was inserted at.
///
- /// When dragging a node, the function of the of the drop target should be called.
+ /// After dropping a node, the function of the of the drop target should be called.
public Action OnDrop { get; set; }
}
@@ -283,12 +283,12 @@
///
/// Gets or sets an action for obtaining the logic to perform after dropping a tree node.
- /// The first parameter represents the tree node which is dragged.
- /// The second parameter represents the tree node being considered as drop target.
+ /// The first parameter represents the tree node which was dropped.
+ /// The second parameter represents the former parent tree node.
/// The parameter represents the type of drag operation that was performed.
/// The parameter represents the drop target index which the tree node was inserted at.
///
- /// When dragging a node, the function of the of the drop target should be called.
+ /// After dropping a node, the function of the of the drop target should be called.
public Action OnDrop { get; set; }
///
Index: Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs
===================================================================
diff -u -r46c27a2ee2b660fc5d1228718279338aa5dfa2f5 -r2750ecd900b9e34ba54bb96d233c464b82d7684c
--- Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs (.../TreeViewController.cs) (revision 46c27a2ee2b660fc5d1228718279338aa5dfa2f5)
+++ Core/Common/src/Core.Common.Controls.TreeView/TreeViewController.cs (.../TreeViewController.cs) (revision 2750ecd900b9e34ba54bb96d233c464b82d7684c)
@@ -591,9 +591,15 @@
try
{
+ var previousParentNode = nodeDragging.Parent;
+
+ previousParentNode.Nodes.Remove(nodeDragging);
+ nodeDropTarget.Nodes.Insert(dropAtLocation, nodeDragging);
+ nodeDragging.EnsureVisible();
+
if (treeNodeInfo.OnDrop != null)
{
- treeNodeInfo.OnDrop(nodeDragging, nodeDropTarget, ToDragOperation(e.Effect), dropAtLocation);
+ treeNodeInfo.OnDrop(nodeDragging, previousParentNode, ToDragOperation(e.Effect), dropAtLocation);
}
}
catch (Exception ex)
Index: Core/Common/test/Core.Common.Controls.TreeView.Test/Core.Common.Controls.TreeView.Test.csproj
===================================================================
diff -u -rb6d165f6edddc4271e94c5f6d70c12d4ba0c60eb -r2750ecd900b9e34ba54bb96d233c464b82d7684c
--- Core/Common/test/Core.Common.Controls.TreeView.Test/Core.Common.Controls.TreeView.Test.csproj (.../Core.Common.Controls.TreeView.Test.csproj) (revision b6d165f6edddc4271e94c5f6d70c12d4ba0c60eb)
+++ Core/Common/test/Core.Common.Controls.TreeView.Test/Core.Common.Controls.TreeView.Test.csproj (.../Core.Common.Controls.TreeView.Test.csproj) (revision 2750ecd900b9e34ba54bb96d233c464b82d7684c)
@@ -61,7 +61,6 @@
-
Fisheye: Tag 2750ecd900b9e34ba54bb96d233c464b82d7684c refers to a dead (removed) revision in file `Core/Common/test/Core.Common.Controls.TreeView.Test/TreeNodeExpandCollapseStateTest.cs'.
Fisheye: No comparison available. Pass `N' to diff?
Index: Core/Plugins/src/Core.Plugins.OxyPlot/Legend/LegendTreeView.cs
===================================================================
diff -u -rfbb37872d09f1ded75ce2209e8e48a6b64d8a78f -r2750ecd900b9e34ba54bb96d233c464b82d7684c
--- Core/Plugins/src/Core.Plugins.OxyPlot/Legend/LegendTreeView.cs (.../LegendTreeView.cs) (revision fbb37872d09f1ded75ce2209e8e48a6b64d8a78f)
+++ Core/Plugins/src/Core.Plugins.OxyPlot/Legend/LegendTreeView.cs (.../LegendTreeView.cs) (revision 2750ecd900b9e34ba54bb96d233c464b82d7684c)
@@ -145,12 +145,13 @@
return sourceNode.Tag is ChartData;
}
- private void BaseChartOnDrop(TreeNode sourceNode, TreeNode targetNode, DragOperations operation, int position)
+ private void BaseChartOnDrop(TreeNode sourceNode, TreeNode previousParentNode, DragOperations operation, int position)
{
var draggedData = (ChartData) sourceNode.Tag;
- var target = (ChartDataCollection) targetNode.Tag;
+ var target = (ChartDataCollection) previousParentNode.Tag;
+
target.List.Remove(draggedData);
- target.List.Insert(target.List.Count - position, draggedData);
+ target.List.Insert(target.List.Count - position, draggedData); // Note: target is the same as the previous parent in this case
target.NotifyObservers();
}
Index: Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs
===================================================================
diff -u -r0c64d8a6c718c0aa67403a16c94dd0c10f862455 -r2750ecd900b9e34ba54bb96d233c464b82d7684c
--- Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 0c64d8a6c718c0aa67403a16c94dd0c10f862455)
+++ Ringtoets/Piping/src/Ringtoets.Piping.Plugin/PipingGuiPlugin.cs (.../PipingGuiPlugin.cs) (revision 2750ecd900b9e34ba54bb96d233c464b82d7684c)
@@ -25,7 +25,6 @@
using System.Linq;
using System.Windows.Forms;
using Core.Common.Controls.TreeView;
-using Core.Common.Gui;
using Core.Common.Gui.ContextMenu;
using Core.Common.Gui.Forms;
using Core.Common.Gui.Forms.ProgressDialog;
@@ -784,17 +783,17 @@
return GetAsIPipingCalculationItem(sourceNode.Tag) != null && NodesHaveSameParentFailureMechanism(sourceNode, targetNode);
}
- private void PipingCalculationGroupContextOnDrop(TreeNode sourceNode, TreeNode targetNode, DragOperations operation, int position)
+ private void PipingCalculationGroupContextOnDrop(TreeNode sourceNode, TreeNode previousParentNode, DragOperations operation, int position)
{
IPipingCalculationItem pipingCalculationItem = GetAsIPipingCalculationItem(sourceNode.Tag);
- var originalOwnerContext = sourceNode.Parent.Tag as PipingCalculationGroupContext;
- var target = targetNode.Tag as PipingCalculationGroupContext;
+ var originalOwnerContext = previousParentNode.Tag as PipingCalculationGroupContext;
+ var target = sourceNode.Parent.Tag as PipingCalculationGroupContext;
if (pipingCalculationItem != null && originalOwnerContext != null && target != null)
{
- var isMoveWithinSameContainer = ReferenceEquals(targetNode.Tag, originalOwnerContext);
+ var isMoveWithinSameContainer = ReferenceEquals(originalOwnerContext, target);
- DroppingPipingCalculationInContainerStrategy dropHandler = GetDragDropStrategy(isMoveWithinSameContainer, originalOwnerContext, target, (TreeView) targetNode.TreeView);
+ DroppingPipingCalculationInContainerStrategy dropHandler = GetDragDropStrategy(isMoveWithinSameContainer, originalOwnerContext, target, (TreeView) previousParentNode.TreeView);
dropHandler.Execute(sourceNode.Tag, pipingCalculationItem, position);
}
}
@@ -846,14 +845,9 @@
/// The index of the new position within the new owner's collection.
public virtual void Execute(object draggedDataObject, IPipingCalculationItem pipingCalculationItem, int newPosition)
{
- var targetRecordedNodeState = new TreeNodeExpandCollapseState(treeView.TreeViewController.GetNodeByTag(target));
-
MoveCalculationItemToNewOwner(pipingCalculationItem, newPosition);
NotifyObservers();
-
- TreeNode draggedNode = treeView.TreeViewController.GetNodeByTag(draggedDataObject);
- UpdateTreeView(draggedNode, targetRecordedNodeState);
}
///
@@ -875,30 +869,6 @@
{
originalOwnerContext.NotifyObservers();
}
-
- ///
- /// Updates the where the drag & drop
- /// operation took place.
- ///
- /// The dragged node.
- /// Recorded state of the target node
- /// before the drag & drop operation.
- protected virtual void UpdateTreeView(TreeNode draggedNode, TreeNodeExpandCollapseState targetRecordedNodeState)
- {
- HandlePostDragExpandCollapseOfNewOwner(draggedNode.Parent, targetRecordedNodeState);
- treeView.SelectedNode = draggedNode;
- }
-
- private static void HandlePostDragExpandCollapseOfNewOwner(TreeNode parentOfDraggedNode, TreeNodeExpandCollapseState newOwnerRecordedNodeState)
- {
- newOwnerRecordedNodeState.Restore(parentOfDraggedNode);
-
- // Expand parent of 'draggedNode' to ensure 'draggedNode' is visible.
- if (!parentOfDraggedNode.IsExpanded)
- {
- parentOfDraggedNode.Expand();
- }
- }
}
///
@@ -925,8 +895,6 @@
///
private class DroppingPipingCalculationToNewContainer : DroppingPipingCalculationInContainerStrategy
{
- private TreeNodeExpandCollapseState recordedNodeState;
-
private bool renamed;
///
@@ -942,23 +910,14 @@
public override void Execute(object draggedDataObject, IPipingCalculationItem pipingCalculationItem, int newPosition)
{
- var targetRecordedNodeState = new TreeNodeExpandCollapseState(treeView.TreeViewController.GetNodeByTag(target));
-
- recordedNodeState = new TreeNodeExpandCollapseState(treeView.TreeViewController.GetNodeByTag(draggedDataObject));
EnsureDraggedNodeHasUniqueNameInNewOwner(pipingCalculationItem, target);
MoveCalculationItemToNewOwner(pipingCalculationItem, newPosition);
NotifyObservers();
TreeNode draggedNode = treeView.TreeViewController.GetNodeByTag(draggedDataObject);
- UpdateTreeView(draggedNode, targetRecordedNodeState);
- }
- protected override void UpdateTreeView(TreeNode draggedNode, TreeNodeExpandCollapseState targetRecordedNodeState)
- {
- base.UpdateTreeView(draggedNode, targetRecordedNodeState);
- recordedNodeState.Restore(draggedNode);
if (renamed)
{
draggedNode.BeginEdit();