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