Here are the steps to duplicate this problem using the SubGraph App:
Start the SubGraph App.
Select all nodes.
Click [Make Custom SubGraph]
Click [Layout Document]
Select Nodes 3 and 0.
Click [Make Custom SubGraph]
Click [Layout Document]
Shift-Drag Node 1 into SubGraph 6 (which contains Nodes 0 and 3)
SubGraph 6 doesn't get highlighted and if you drop the Node onto the un-highlighted sub-graph, it ends up being added to the GoView.
The same problem occurs when you try to drag a Node out of a nested SubGraph onto the Parent SubGraph. I'm sure the fix is in SubGraphDraggingTool.FindSubGraph1(), but mouse moves are notoriously hard to debug. Got any suggestions?
Been playing with this…I thought I was seeing some bad behavior at first too. But, if I’m careful to hold the Shift key down until the mouse button is released, I don’t think I see any unexpected behavior.
The inner SubGraph wasn’t being highlighted like one would expect. Clicking [Layout Document] again shows that the node actually was added to the GoView Document instead of the SubGraph.
I took a risk and modified FindSubGraph1(GoObject, PointF, GoObject) in SubGraphDraggingTool and took out the test for skip.IsChildOf(obj), and then I get the behavior I expected and wanted with no bad side-affects. IsChildOf(GoObject) returns true even if the GoObject is an indirect child of the parent object.