using System;
namespace DevComponents.Tree
{
	/// 
	/// Represents event arguments for BeforeNodeDrop and AfterNodeDrop events
	/// 
	public class TreeGXDragDropEventArgs : TreeGXNodeCancelEventArgs
	{
		public TreeGXDragDropEventArgs(eTreeAction action, Node node, Node oldParentNode, Node newParentNode):base(action,node)
		{
			this.NewParentNode = newParentNode;
			this.OldParentNode = oldParentNode;
		}
		
		/// 
		/// Returns reference to the old parent node.
		/// 
		public readonly Node OldParentNode=null;
		
		/// 
		/// Reference to the new parent node if event is not canceled.
		/// 
		public readonly Node NewParentNode=null;
        /// 
        /// Gets or sets whether drag node is being copied instead of moved.
        /// 
        public bool IsCopy = false;
	}
}