Example #1
0
 private void updateDragTargetPosition(CTreeNode nodeBefore, CTreeNode nodeAfter)
 {
     if (DragTargetPosition.NodeBefore != nodeBefore || DragTargetPosition.NodeAfter != nodeAfter)
     {
         DragTargetPosition = new DragTargetPositionClass(null, nodeBefore, nodeAfter);
         if (nodeBefore == null)
         {
             if (DrawStyle == CTreeViewDrawStyle.VerticalDiagram)
             {
                 dragDropLinePoint1 = new Point(nodeAfter.BoundsSubtree.X - 2, nodeAfter.BoundsSubtree.Y);
                 dragDropLinePoint2 = new Point(nodeAfter.BoundsSubtree.X - 2, nodeAfter.BoundsSubtree.Bottom);
             }
             else
             {
                 dragDropLinePoint1 = new Point(nodeAfter.BoundsSubtree.X, nodeAfter.BoundsSubtree.Y - 2);
                 dragDropLinePoint2 = new Point(nodeAfter.BoundsSubtree.Right, nodeAfter.BoundsSubtree.Y - 2);
             }
         }
         else if (nodeAfter == null)
         {
             if (DrawStyle == CTreeViewDrawStyle.VerticalDiagram)
             {
                 dragDropLinePoint1 = new Point(nodeBefore.BoundsSubtree.Right + 2, nodeBefore.BoundsSubtree.Y);
                 dragDropLinePoint2 = new Point(nodeBefore.BoundsSubtree.Right + 2, nodeBefore.BoundsSubtree.Bottom);
             }
             else
             {
                 dragDropLinePoint1 = new Point(nodeBefore.BoundsSubtree.X, nodeBefore.BoundsSubtree.Bottom + 2);
                 dragDropLinePoint2 = new Point(nodeBefore.BoundsSubtree.Right, nodeBefore.BoundsSubtree.Bottom + 2);
             }
         }
         else
         {
             if (DrawStyle == CTreeViewDrawStyle.VerticalDiagram)
             {
                 int y1 = nodeBefore.BoundsSubtree.Y;
                 int y2 = Math.Max(nodeBefore.BoundsSubtree.Bottom, nodeAfter.BoundsSubtree.Bottom);
                 int x  = nodeBefore.BoundsSubtree.Right + IndentWidth / 2;
                 dragDropLinePoint1 = new Point(x, y1);
                 dragDropLinePoint2 = new Point(x, y2);
             }
             else
             {
                 int x1 = nodeBefore.BoundsSubtree.X;
                 int x2 = Math.Max(nodeBefore.BoundsSubtree.Right, nodeAfter.BoundsSubtree.Right);
                 int y  = nodeBefore.BoundsSubtree.Bottom + IndentWidth / 2;
                 dragDropLinePoint1 = new Point(x1, y);
                 dragDropLinePoint2 = new Point(x2, y);
             }
         }
         dragDropRectangle = Rectangle.Empty;
         Refresh();
     }
 }
Example #2
0
 private void updateDragTargetPosition()
 {
     if (DragTargetPosition.NodeDirect != null || DragTargetPosition.NodeBefore != null || DragTargetPosition.NodeAfter != null)
     {
         DragTargetPosition = new DragTargetPositionClass(null, null, null);
         dragDropLinePoint1 = Point.Empty;
         dragDropLinePoint2 = Point.Empty;
         dragDropRectangle  = Rectangle.Empty;
         Refresh();
     }
 }
Example #3
0
 private void updateDragTargetPosition(CTreeNode node)
 {
     if (DragTargetPosition.NodeDirect != node)
     {
         DragTargetPosition = new DragTargetPositionClass(node, null, null);
         dragDropRectangle  = node.Bounds;
         dragDropRectangle.Inflate(2, 2);
         dragDropLinePoint1 = Point.Empty;
         dragDropLinePoint2 = Point.Empty;
         Refresh();
     }
 }