Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/ReadOnlyPosition.java')
-rw-r--r--core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/ReadOnlyPosition.java37
1 files changed, 37 insertions, 0 deletions
diff --git a/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/ReadOnlyPosition.java b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/ReadOnlyPosition.java
new file mode 100644
index 0000000000..4c4bccfeb1
--- /dev/null
+++ b/core/bundles/org.eclipse.wst.sse.core/src/org/eclipse/wst/sse/core/internal/text/ReadOnlyPosition.java
@@ -0,0 +1,37 @@
+/*******************************************************************************
+ * Copyright (c) 2006 IBM Corporation and others.
+ * All rights reserved. This program and the accompanying materials
+ * are made available under the terms of the Eclipse Public License v1.0
+ * which accompanies this distribution, and is available at
+ * http://www.eclipse.org/legal/epl-v10.html
+ *
+ * Contributors:
+ * IBM Corporation - initial API and implementation
+ *******************************************************************************/
+package org.eclipse.wst.sse.core.internal.text;
+
+import org.eclipse.jface.text.Position;
+
+class ReadOnlyPosition extends Position {
+ private boolean fIncludeStartOffset = false;
+
+ public ReadOnlyPosition(int newOffset, int newLength, boolean includeStart) {
+ super(newOffset, newLength);
+ fIncludeStartOffset = includeStart;
+ }
+
+ public boolean overlapsWith(int newOffset, int newLength) {
+ boolean overlapsWith = super.overlapsWith(newOffset, newLength);
+ if (overlapsWith) {
+ /*
+ * BUG157526 If at the start of the read only region and length =
+ * 0 most likely asking to insert and want to all inserting before
+ * read only region
+ */
+ if (fIncludeStartOffset && (newLength == 0) && (this.length != 0) && (newOffset == this.offset)) {
+ overlapsWith = false;
+ }
+ }
+ return overlapsWith;
+ }
+}

Back to the top