mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-23 06:51:44 +00:00
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:
parent
f3f65c281e
commit
1b09f51ad0
1 changed files with 58 additions and 36 deletions
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue