Split text input into its own event.

This commit is contained in:
Paul Chote
2013-10-30 17:40:12 +13:00
parent ae8475620d
commit d1c9c6d76d
5 changed files with 49 additions and 18 deletions

View File

@@ -154,27 +154,24 @@ namespace OpenRA.Widgets
return true;
}
TypeChar(e);
return true;
}
public void TypeChar(KeyInput key)
{
if (key.Key == Keycode.BACKSPACE && CursorPosition > 0)
if (e.Key == Keycode.BACKSPACE && CursorPosition > 0)
{
CursorPosition--;
Text = Text.Remove(CursorPosition, 1);
}
else if (key.IsValidInput())
{
if (MaxLength > 0 && Text.Length >= MaxLength)
return;
return true;
}
Text = Text.Insert(CursorPosition, key.UnicodeChar.ToString());
public override bool HandleTextInput(string text)
{
if (MaxLength > 0 && Text.Length >= MaxLength)
return true;
CursorPosition++;
}
Text = Text.Insert(CursorPosition, text);
CursorPosition++;
return true;
}
protected int blinkCycle = 10;