private void DeleteForward()
{
Caret.CropPosition();
if (Selection.IsValid)
Selection.DeleteSelection();
else
{
Row xtr = Caret.CurrentRow;
if (Caret.Position.X == xtr.Text.Length)
{
if (Caret.Position.Y <= Document.Count - 2)
{
var r = new TextRange {FirstColumn = Caret.Position.X, FirstRow = Caret.Position.Y};
r.LastRow = r.FirstRow + 1;
r.LastColumn = 0;
Document.DeleteRange(r);
Document.ResetVisibleRows();
}
}
else
{
var r = new TextRange {FirstColumn = Caret.Position.X, FirstRow = Caret.Position.Y};
r.LastRow = r.FirstRow;
r.LastColumn = r.FirstColumn + 1;
Document.DeleteRange(r);
Document.ResetVisibleRows();
Caret.CurrentRow.Parse(false);
Caret.CurrentRow.Parse(true);
}
}
}