mirror of
https://github.com/gnustep/libs-gui.git
synced 2025-04-26 15:50:55 +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
ddb3a8b91b
commit
85775be649
1 changed files with 58 additions and 36 deletions
|
@ -2596,6 +2596,64 @@ afterString in order over charRange. */
|
||||||
[self setSelectedRange: newRange];
|
[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
|
- (void) moveToBeginningOfDocument: (id)sender
|
||||||
{
|
{
|
||||||
[self setSelectedRange: NSMakeRange (0, 0)];
|
[self setSelectedRange: NSMakeRange (0, 0)];
|
||||||
|
@ -2685,42 +2743,6 @@ afterString in order over charRange. */
|
||||||
[self setSelectedRange: NSMakeRange (newLocation, 0) ];
|
[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
|
- (void) pageDown: (id)sender
|
||||||
{
|
{
|
||||||
// TODO
|
// TODO
|
||||||
|
|
Loading…
Reference in a new issue