diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidDoubleClickStrategy.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidDoubleClickStrategy.java | 92 |
1 files changed, 0 insertions, 92 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidDoubleClickStrategy.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidDoubleClickStrategy.java deleted file mode 100644 index 87164871f..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidDoubleClickStrategy.java +++ /dev/null @@ -1,92 +0,0 @@ -/* - * Copyright (C) 2012 The Android Open Source Project - * - * Licensed under the Eclipse Public License, Version 1.0 (the "License"); - * you may not use this file except in compliance with the License. - * You may obtain a copy of the License at - * - * http://www.eclipse.org/org/documents/epl-v10.php - * - * Unless required by applicable law or agreed to in writing, software - * distributed under the License is distributed on an "AS IS" BASIS, - * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - * See the License for the specific language governing permissions and - * limitations under the License. - */ - -package com.android.ide.eclipse.adt.internal.editors; - -import static com.android.SdkConstants.PREFIX_RESOURCE_REF; -import static com.android.SdkConstants.PREFIX_THEME_REF; - -import org.eclipse.swt.graphics.Point; -import org.eclipse.wst.xml.core.internal.regions.DOMRegionContext; -import org.eclipse.wst.xml.ui.internal.doubleclick.XMLDoubleClickStrategy; - -/** - * Custom version of {@link XMLDoubleClickStrategy} which is smarter about - * selecting portions of resource references, etc. - */ -@SuppressWarnings("restriction") // XML API -public class AndroidDoubleClickStrategy extends XMLDoubleClickStrategy { - /** - * Creates a new {@linkplain AndroidDoubleClickStrategy} - */ - public AndroidDoubleClickStrategy() { - } - - @Override - protected void processElementDoubleClicked() { - // Special case: if you click on the local name portion of an attribute pair, - // select only the local name. For example, if you click anywhere in the "text" region - // of "android:text", select just the "text" portion. - if (fTextRegion.getType() == DOMRegionContext.XML_TAG_ATTRIBUTE_NAME) { - String regionText = fStructuredDocumentRegion.getText(fTextRegion); - int cursor = fCaretPosition - fStructuredDocumentRegion.getStartOffset(fTextRegion); - int ns = regionText.indexOf(':'); - if (cursor > ns) { - int start = ns + 1; - fTextViewer.setSelectedRange(fStructuredDocumentRegion.getStartOffset(fTextRegion) - + start, fTextRegion.getTextLength() - start); - return; - } - } - - super.processElementDoubleClicked(); - } - - @Override - protected Point getWord(String string, int cursor) { - if (string == null) { - return null; - } - - // Default implementation will strip off the surrounding quotes etc: - Point position = super.getWord(string, cursor); - - assert cursor >= position.x && cursor <= position.y; - - // Special case: when you click on a resource identifier name, only select the - // name portion - if (string.startsWith(PREFIX_RESOURCE_REF, position.x) || - string.startsWith(PREFIX_THEME_REF, position.x)) { - int nameStart = string.indexOf('/', position.x + 1); - if (nameStart != -1 && nameStart < cursor) { - position.x = nameStart + 1; - return position; - } - } - - // Special case: when you have a dotted name, such as com.android.tools.MyClass, - // and you click on the last part, select only that part - int lastDot = string.lastIndexOf('.', cursor); - if (lastDot >= position.x && lastDot < position.y - 1) { - int next = string.indexOf('.', cursor); - if (next == -1 || next > position.y) { - position.x = lastDot + 1; - } - } - - return position; - } -} |