protected override void OnKeyPress(KeyEventArgs e)
{
base.OnKeyPress(e);
if (e.Modifiers == UnityEngine.EventModifiers.None)
{
switch (e.KeyCode)
{
case UnityEngine.KeyCode.Space:
case UnityEngine.KeyCode.Return:
if (SelectedNode != null)
SelectedNode.Toggle();
break;
case UnityEngine.KeyCode.DownArrow:
_SelectNext();
break;
case UnityEngine.KeyCode.LeftArrow:
if (SelectedNode != null)
SelectedNode.Collapse();
break;
case UnityEngine.KeyCode.RightArrow:
if (SelectedNode != null)
SelectedNode.Expand();
break;
case UnityEngine.KeyCode.UpArrow:
_SelectPrevious();
break;
}
}
char c = KeyHelper.GetLastInputChar();
if (char.IsLetterOrDigit(c) || char.IsPunctuation(c))
{
_filter += c;
_resetFilterTime = 3; // sec.
SelectNodeWText(_filter);
}
}
protected override void OnMouseDoubleClick(MouseEventArgs e)