Simplified existing code for moving by words; added moving by words

and modifying selection


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gui/trunk@12429 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
Nicola Pero 2002-02-08 01:54:21 +00:00
parent f3f65c281e
commit 1b09f51ad0

View file

@ -2596,6 +2596,64 @@ afterString in order over charRange. */
[self setSelectedRange: newRange];
}
- (void) moveWordBackward: (id)sender
{
unsigned newLocation;
newLocation = [_textStorage nextWordFromIndex: _selected_range.location
forward: NO];
[self setSelectedRange: NSMakeRange (newLocation, 0)];
}
- (void) moveWordForward: (id)sender
{
unsigned newLocation;
newLocation = [_textStorage nextWordFromIndex: _selected_range.location
forward: YES];
[self setSelectedRange: NSMakeRange (newLocation, 0)];
}
- (void) moveWordBackwardAndModifySelection: (id)sender
{
unsigned newLocation;
NSRange newRange;
[self setSelectionGranularity: NSSelectByWord];
newLocation = [_textStorage nextWordFromIndex: _selected_range.location
forward: NO];
newRange = NSMakeRange (newLocation,
NSMaxRange (_selected_range) - newLocation);
newRange = [self selectionRangeForProposedRange: newRange
granularity: NSSelectByCharacter];
[self setSelectedRange: newRange];
}
- (void) moveWordForwardAndModifySelection: (id)sender
{
unsigned newMaxRange;
NSRange newRange;
[self setSelectionGranularity: NSSelectByWord];
newMaxRange = [_textStorage nextWordFromIndex: NSMaxRange (_selected_range)
forward: YES];
newRange = NSMakeRange (_selected_range.location,
newMaxRange - _selected_range.location);
newRange = [self selectionRangeForProposedRange: newRange
granularity: NSSelectByCharacter];
[self setSelectedRange: newRange];
}
- (void) moveToBeginningOfDocument: (id)sender
{
[self setSelectedRange: NSMakeRange (0, 0)];
@ -2685,42 +2743,6 @@ afterString in order over charRange. */
[self setSelectedRange: NSMakeRange (newLocation, 0) ];
}
- (void) moveWordBackward: (id)sender
{
if (_selected_range.location == 0 || [_textStorage length] == 0)
{
return;
}
else
{
unsigned int i;
i = [_textStorage nextWordFromIndex: _selected_range.location
forward: NO];
[self setSelectedRange: NSMakeRange (i, 0)];
}
}
- (void) moveWordForward: (id)sender
{
unsigned int length;
length = [_textStorage length];
if (_selected_range.location == length || length == 0)
{
return;
}
else
{
unsigned int i;
i = [_textStorage nextWordFromIndex: _selected_range.location
forward: YES];
[self setSelectedRange: NSMakeRange (i, 0)];
}
}
- (void) pageDown: (id)sender
{
// TODO