public void MoveLeft(bool Select)
{
CropPosition();
Position.X--;
if (CurrentRow.IsCollapsedEndPart)
{
if (Position.X < CurrentRow.Expansion_StartChar)
{
if (CurrentRow.Expansion_StartRow.Index == - 1)
Debugger.Break();
Position.Y = CurrentRow.Expansion_StartRow.Index;
Position.X = CurrentRow.Expansion_StartRow.Expansion_EndChar;
CropPosition();
}
RememberXPos();
CaretMoved(Select);
}
else
{
if (Position.X < 0)
{
if (Position.Y > 0)
{
MoveUp(Select);
CropPosition();
Row xtr = CurrentRow;
Position.X = xtr.Text.Length;
if (CurrentRow.IsCollapsed)
{
Position.Y = CurrentRow.Expansion_EndRow.Index;
Position.X = CurrentRow.Text.Length;
}
}
else
CropPosition();
}
RememberXPos();
CaretMoved(Select);
}
}