aboutsummaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--cocoa/ScintillaView.h2
-rw-r--r--cocoa/ScintillaView.mm36
2 files changed, 19 insertions, 19 deletions
diff --git a/cocoa/ScintillaView.h b/cocoa/ScintillaView.h
index 51d60e9d5..b9b36201f 100644
--- a/cocoa/ScintillaView.h
+++ b/cocoa/ScintillaView.h
@@ -146,6 +146,8 @@ extern NSString *const SCIUpdateUINotification;
- (NSString*) selectedString;
+- (void) deleteRange: (NSRange) range;
+
- (void)setFontName: (NSString*) font
size: (int) size
bold: (BOOL) bold
diff --git a/cocoa/ScintillaView.mm b/cocoa/ScintillaView.mm
index 2db8fae12..97bc0edfe 100644
--- a/cocoa/ScintillaView.mm
+++ b/cocoa/ScintillaView.mm
@@ -383,13 +383,7 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor)
// Its replacing a non-existent position so do nothing.
return;
- if (replacementRange.length > 0)
- {
- [ScintillaView directCall: mOwner
- message: SCI_DELETERANGE
- wParam: replacementRange.location
- lParam: replacementRange.length];
- }
+ [mOwner deleteRange: replacementRange];
NSString* newText = @"";
if ([aString isKindOfClass:[NSString class]])
@@ -459,13 +453,7 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor)
mOwner.backend->SelectOnlyMainSelection();
}
- if (replacementRange.length > 0)
- {
- [ScintillaView directCall: mOwner
- message: SCI_DELETERANGE
- wParam: replacementRange.location
- lParam: replacementRange.length];
- }
+ [mOwner deleteRange: replacementRange];
// Note: Scintilla internally works almost always with bytes instead chars, so we need to take
// this into account when determining selection ranges and such.
@@ -532,11 +520,8 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor)
if (mMarkedTextRange.length > 0)
{
// We have already marked text. Replace that.
- [mOwner setGeneralProperty: SCI_SETSELECTIONSTART
- value: mMarkedTextRange.location];
- [mOwner setGeneralProperty: SCI_SETSELECTIONEND
- value: mMarkedTextRange.location + mMarkedTextRange.length];
- mOwner.backend->InsertText(@"");
+ [mOwner deleteRange: mMarkedTextRange];
+
mMarkedTextRange = NSMakeRange(NSNotFound, 0);
// Reenable undo action collection, after we are done with text composition.
@@ -1254,6 +1239,19 @@ static NSCursor *cursorFromEnum(Window::Cursor cursor)
//--------------------------------------------------------------------------------------------------
/**
+ * Delete a range from the document.
+ */
+- (void) deleteRange: (NSRange) aRange
+{
+ if (aRange.length > 0)
+ {
+ [self message: SCI_DELETERANGE wParam: aRange.location lParam: aRange.length];
+ }
+}
+
+//--------------------------------------------------------------------------------------------------
+
+/**
* Getter for the current text in raw form (no formatting information included).
* If there is no text available an empty string is returned.
*/