Example #1
0
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--;
			}
		}
}
Example #3
0
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--;
			}
		}
}