summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFelipe Heidrich <fheidric>2007-03-16 20:25:21 +0000
committerFelipe Heidrich <fheidric>2007-03-16 20:25:21 +0000
commit5dd555b333bfe4be20987ae764a2256175dee6d5 (patch)
tree9898cdcb5f3cd082a5993d598a9727bbc6d80ae0
parent3bc7acfa36ee31a19eff8e990b6fe8fea469bc66 (diff)
downloadeclipse.platform.swt-5dd555b333bfe4be20987ae764a2256175dee6d5.tar.gz
eclipse.platform.swt-5dd555b333bfe4be20987ae764a2256175dee6d5.tar.xz
eclipse.platform.swt-5dd555b333bfe4be20987ae764a2256175dee6d5.zip
Bug 138579
-rw-r--r--bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java11
1 files changed, 11 insertions, 0 deletions
diff --git a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java
index 363bb7db4d..72ae560e11 100644
--- a/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java
+++ b/bundles/org.eclipse.swt/Eclipse SWT/win32/org/eclipse/swt/graphics/TextLayout.java
@@ -1401,6 +1401,7 @@ int _getOffset(int offset, int movement, boolean forward) {
}
break;
}
+ case SWT.MOVEMENT_WORD_START:
case SWT.MOVEMENT_WORD: {
if (properties.fNeedsWordBreaking) {
if (!logAttr.fInvalid && logAttr.fWordStop) return untranslateOffset(offset);
@@ -1417,6 +1418,16 @@ int _getOffset(int offset, int movement, boolean forward) {
}
break;
}
+ case SWT.MOVEMENT_WORD_END: {
+ if (offset > 0) {
+ boolean isLetterOrDigit = Compatibility.isLetterOrDigit(segmentsText.charAt(offset));
+ boolean previousLetterOrDigit = Compatibility.isLetterOrDigit(segmentsText.charAt(offset - 1));
+ if (!isLetterOrDigit && previousLetterOrDigit) {
+ return untranslateOffset(offset);
+ }
+ }
+ break;
+ }
}
offset = validadeOffset(offset, step);
}