moel@345: using System;
moel@345: using System.Windows.Forms;
moel@345: namespace Aga.Controls.Tree
moel@345: {
moel@345: 	internal abstract class InputState
moel@345: 	{
moel@345: 		private TreeViewAdv _tree;
moel@345: 
moel@345: 		public TreeViewAdv Tree
moel@345: 		{
moel@345: 			get { return _tree; }
moel@345: 		}
moel@345: 
moel@345: 		public InputState(TreeViewAdv tree)
moel@345: 		{
moel@345: 			_tree = tree;
moel@345: 		}
moel@345: 
moel@345: 		public abstract void KeyDown(System.Windows.Forms.KeyEventArgs args);
moel@345: 		public abstract void MouseDown(TreeNodeAdvMouseEventArgs args);
moel@345: 		public abstract void MouseUp(TreeNodeAdvMouseEventArgs args);
moel@345: 
moel@345: 		/// <summary>
moel@345: 		/// handle OnMouseMove event
moel@345: 		/// </summary>
moel@345: 		/// <param name="args"></param>
moel@345: 		/// <returns>true if event was handled and should be dispatched</returns>
moel@345: 		public virtual bool MouseMove(MouseEventArgs args)
moel@345: 		{
moel@345: 			return false;
moel@345: 		}
moel@345: 
moel@345: 		public virtual void MouseDoubleClick(TreeNodeAdvMouseEventArgs args)
moel@345: 		{
moel@345: 		}
moel@345: 	}
moel@345: }