using System;
using DevComponents.AdvTree.Display;
namespace DevComponents.AdvTree
{
	/// 
	/// Defines the delegate for AdvTree cell based action events.
	/// 
	public delegate void AdvTreeCellEventHandler(object sender, AdvTreeCellEventArgs e);
	
	/// 
	/// Defines the delegate for AdvTree cell based action events.
	/// 
	public delegate void AdvTreeCellCancelEventHandler(object sender, TreeCellCancelEventArgs e);
	
	/// 
	/// Defines the delegate for AdvTree node based action events that can be cancelled.
	/// 
	public delegate void AdvTreeNodeCancelEventHandler(object sender, AdvTreeNodeCancelEventArgs e);
	
	/// 
	/// Defines the delegate for AdvTree node based action events.
	/// 
	public delegate void AdvTreeNodeEventHandler(object sender, AdvTreeNodeEventArgs e);
	/// 
	/// Defines delegate for Command button events.
	/// 
	public delegate void CommandButtonEventHandler(object sender, CommandButtonEventArgs e);
	/// 
	/// Defines delegate for label editing events.
	/// 
	public delegate void CellEditEventHandler(object sender, CellEditEventArgs e);
	
	/// 
	/// Defines the delegate for AdvTree node based action events.
	/// 
	public delegate void TreeNodeCollectionEventHandler(object sender, TreeNodeCollectionEventArgs e);
	
	/// 
	/// Defines the delegate for BeforeNodeDrop and AfterNodeDrop events
	/// 
	public delegate void TreeDragDropEventHandler(object sender, TreeDragDropEventArgs e);
    /// 
    /// Defines the delegate for NodeDragFeedback event.
    /// 
    public delegate void TreeDragFeedbackEventHander(object sender, TreeDragFeedbackEventArgs e);
	
	/// 
	/// Defines the delegate for mouse based node events
	/// 
	public delegate void TreeNodeMouseEventHandler(object sender, TreeNodeMouseEventArgs e);
	
	/// 
	/// Defines delegate for node rendering events.
	/// 
	public delegate void NodeRendererEventHandler(object sender, NodeRendererEventArgs e);
	
	/// 
	/// Defines delegate for cell rendering events.
	/// 
	public delegate void NodeCellRendererEventHandler(object sender, NodeCellRendererEventArgs e);
	
	/// 
	/// Defines delegate for RenderExpandPart event.
	/// 
	public delegate void NodeExpandPartRendererEventHandler(object sender, NodeExpandPartRendererEventArgs e);
	
    ///// 
    ///// Defines delegate for RenderExpandPart event.
    ///// 
    //public delegate void NodeCommandPartRendererEventHandler(object sender, NodeCommandPartRendererEventArgs e);
	
	/// 
	/// Defines delegate for RenderExpandPart event.
	/// 
	public delegate void SelectionRendererEventHandler(object sender, SelectionRendererEventArgs e);
	/// 
	/// Defines delegate for RenderConnector event.
	/// 
	public delegate void ConnectorRendererEventHandler(object sender, ConnectorRendererEventArgs e);
	/// 
	/// Defines delegate for TreeBackgroundRenderer events.
	/// 
	public delegate void TreeBackgroundRendererEventHandler(object sender, TreeBackgroundRendererEventArgs e);
    /// 
    /// Defines delegate for RenderDragDropMarker event.
    /// 
    public delegate void DragDropMarkerRendererEventHandler(object sender, DragDropMarkerRendererEventArgs e);
    /// 
    /// Defines delegate for RenderColumnHeader event.
    /// 
    public delegate void ColumnHeaderRendererEventHandler(object sender, ColumnHeaderRendererEventArgs e);
    public delegate void AdvTreeCellBeforeCheckEventHandler(object sender, AdvTreeCellBeforeCheckEventArgs e);
}