aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringProposal.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringProposal.java')
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringProposal.java185
1 files changed, 0 insertions, 185 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringProposal.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringProposal.java
deleted file mode 100644
index 5400be4e4..000000000
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/refactorings/extractstring/ExtractStringProposal.java
+++ /dev/null
@@ -1,185 +0,0 @@
-/*
- * Copyright (C) 2011 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.refactorings.extractstring;
-
-import com.android.ide.eclipse.adt.AdtPlugin;
-import com.android.ide.eclipse.adt.AdtUtils;
-
-import org.eclipse.core.resources.IFile;
-import org.eclipse.jdt.core.IBuffer;
-import org.eclipse.jdt.core.JavaModelException;
-import org.eclipse.jdt.core.dom.ASTNode;
-import org.eclipse.jdt.ui.text.java.IInvocationContext;
-import org.eclipse.jdt.ui.text.java.IJavaCompletionProposal;
-import org.eclipse.jface.text.IDocument;
-import org.eclipse.jface.text.ITextSelection;
-import org.eclipse.jface.text.TextSelection;
-import org.eclipse.jface.text.contentassist.IContextInformation;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizard;
-import org.eclipse.ltk.ui.refactoring.RefactoringWizardOpenOperation;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.swt.graphics.Point;
-import org.eclipse.ui.IEditorPart;
-import org.eclipse.ui.IWorkbenchWindow;
-import org.eclipse.ui.PlatformUI;
-
-/**
- * Proposal for extracting strings in Java files
- */
-public class ExtractStringProposal implements IJavaCompletionProposal {
- private IInvocationContext mContext;
-
- public ExtractStringProposal(IInvocationContext context) {
- mContext = context;
- }
-
- @Override
- public void apply(IDocument document) {
- IEditorPart editor = AdtUtils.getActiveEditor();
- IFile file = AdtUtils.getActiveFile();
- if (editor == null || file == null) {
- return;
- }
-
- ASTNode coveringNode = mContext.getCoveringNode();
- int start = coveringNode.getStartPosition();
- int length = coveringNode.getLength();
- ITextSelection selection = new TextSelection(start, length);
-
- ExtractStringRefactoring refactoring = new ExtractStringRefactoring(file, editor,
- selection);
-
- RefactoringWizard wizard = new ExtractStringWizard(refactoring, file.getProject());
- RefactoringWizardOpenOperation op = new RefactoringWizardOpenOperation(wizard);
- try {
- IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
- op.run(window.getShell(), wizard.getDefaultPageTitle());
- } catch (InterruptedException e) {
- }
- }
-
- @Override
- public Point getSelection(IDocument document) {
- return null;
- }
-
- @Override
- public String getAdditionalProposalInfo() {
- try {
- ASTNode coveringNode = mContext.getCoveringNode();
- int start = coveringNode.getStartPosition();
- int length = coveringNode.getLength();
- IBuffer buffer = mContext.getCompilationUnit().getBuffer();
- StringBuilder sb = new StringBuilder();
- String string = buffer.getText(start, length);
- string = ExtractStringRefactoring.unquoteAttrValue(string);
- String token = ExtractStringInputPage.guessId(string);
-
- // Look up the beginning and the end of the line (outside of the extracted string)
- // such that we can show a preview of the diff, e.g. if you have
- // foo.setTitle("Hello"); we want to show foo.setTitle(R.string.hello);
- // so we need to extract "foo.setTitle(" and ");".
-
- // Look backwards to the beginning of the line (and strip whitespace)
- int i = start - 1;
- while (i > 0) {
- char c = buffer.getChar(i);
- if (c == '\r' || (c == '\n')) {
- break;
- }
- i--;
- }
- String linePrefix = buffer.getText(i + 1, start - (i + 1)).trim();
-
- // Look forwards to the end of the line (and strip whitespace)
- i = start + length;
- while (i < buffer.getLength()) {
- char c = buffer.getChar(i);
- if (c == '\r' || (c == '\n')) {
- break;
- }
- i++;
- }
- String lineSuffix = buffer.getText(start + length, i - (start + length));
-
- // Should we show the replacement as just R.string.foo or
- // context.getString(R.string.foo) ?
- boolean useContext = false;
- ASTNode parent = coveringNode.getParent();
- if (parent != null) {
- int type = parent.getNodeType();
- if (type == ASTNode.ASSIGNMENT
- || type == ASTNode.VARIABLE_DECLARATION_STATEMENT
- || type == ASTNode.VARIABLE_DECLARATION_FRAGMENT
- || type == ASTNode.VARIABLE_DECLARATION_EXPRESSION) {
- useContext = true;
- }
- }
-
- // Display .java change:
- sb.append("...<br>"); //$NON-NLS-1$
- sb.append(linePrefix);
- sb.append("<b>"); //$NON-NLS-1$
- if (useContext) {
- sb.append("context.getString("); //$NON-NLS-1$
- }
- sb.append("R.string."); //$NON-NLS-1$
- sb.append(token);
- if (useContext) {
- sb.append(")"); //$NON-NLS-1$
- }
- sb.append("</b>"); //$NON-NLS-1$
- sb.append(lineSuffix);
- sb.append("<br>...<br>"); //$NON-NLS-1$
-
- // Display strings.xml change:
- sb.append("<br>"); //$NON-NLS-1$
- sb.append("&lt;resources&gt;<br>"); //$NON-NLS-1$
- sb.append(" <b>&lt;string name=\""); //$NON-NLS-1$
- sb.append(token);
- sb.append("\"&gt;"); //$NON-NLS-1$
- sb.append(string);
- sb.append("&lt;/string&gt;</b><br>"); //$NON-NLS-1$
- sb.append("&lt;/resources&gt;"); //$NON-NLS-1$
-
- return sb.toString();
- } catch (JavaModelException e) {
- AdtPlugin.log(e, null);
- }
-
- return "Initiates the Extract String refactoring operation";
- }
-
- @Override
- public String getDisplayString() {
- return "Extract String";
- }
-
- @Override
- public Image getImage() {
- return AdtPlugin.getAndroidLogo();
- }
-
- @Override
- public IContextInformation getContextInformation() {
- return null;
- }
-
- @Override
- public int getRelevance() {
- return 80;
- }
-} \ No newline at end of file