namespace DevComponents.AdvTree
{
	/// 
	/// Summary description for TreeAreaInfo.
	/// 
	internal class TreeAreaInfo
	{
		/// 
		/// Reference to parent node in which child bounds the coordinates are. Can be null if no parent node contains given coordinates.
		/// 
		public Node ParentAreaNode=null;
		/// 
		/// Node which contains specified coordinates. Can be null if no node contains coordinates.
		/// 
		public Node NodeAt=null;
		/// 
		/// Previous reference node for given coordinates. If coordinates fall between two nodes this will indicate previous node or null.
		/// 
		public Node PreviousNode=null;
		/// 
		/// Next reference node for given coordinates. If coordinates fall between two nodes this will indicate next node or null.
		/// 
		public Node NextNode=null;
	}
    internal class NodeDragInfo
    {
        /// 
        /// Gets or sets the parent node drag node will be added to. When null the drag node is being added as top-level node.
        /// 
        public Node Parent = null;
        /// 
        /// Gets or sets the insert index of drag node into the parent's node Nodes collection.
        /// 
        public int InsertIndex = -1;
        /// 
        /// Initializes a new instance of the NodeDragInfo class.
        /// 
        public NodeDragInfo()
        {
        }
        /// 
        /// Initializes a new instance of the NodeDragInfo class.
        /// 
        /// 
        /// 
        public NodeDragInfo(Node parent, int insertIndex)
        {
            Parent = parent;
            InsertIndex = insertIndex;
        }
        public override string ToString()
        {
            return string.Format("NodeDragInfo-> Parent={0}, InsertIndex={1}", Parent, InsertIndex);
        }
    }
}