void JTEUndoTyping::HandleDelete() { assert( IsActive() ); if (itsLength > 0) { itsLength--; } else { itsOrigStartIndex = (GetTE())->GetInsertionIndex(); PrependToSave(itsOrigStartIndex); itsOrigStartIndex--; } }
void JTEUndoTyping::HandleDelete ( const JIndex firstChar, const JIndex lastChar ) { assert( IsActive() ); for (JIndex i=lastChar; i>=firstChar; i--) { if (itsLength > 0) { itsLength--; } else { PrependToSave(itsOrigStartIndex); itsOrigStartIndex--; } } }
void JTEUndoTyping::HandleAutoIndentDelete ( const JIndex firstChar, const JIndex lastChar ) { assert( IsActive() && firstChar <= lastChar && lastChar <= itsOrigStartIndex + itsLength - 1 ); for (JIndex i=lastChar; i>=firstChar; i--) { if (i >= itsOrigStartIndex) { itsLength--; } else { PrependToSave(i+1); // saves the character before given index itsOrigStartIndex--; } } }