diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlQuickAssistManager.java')
-rw-r--r-- | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlQuickAssistManager.java | 106 |
1 files changed, 0 insertions, 106 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlQuickAssistManager.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlQuickAssistManager.java deleted file mode 100644 index a979a8086..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/formatting/XmlQuickAssistManager.java +++ /dev/null @@ -1,106 +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.editors.formatting; - -import com.android.ide.eclipse.adt.internal.build.AaptQuickFix; -import com.android.ide.eclipse.adt.internal.editors.layout.refactoring.RefactoringAssistant; -import com.android.ide.eclipse.adt.internal.lint.LintFixGenerator; - -import org.eclipse.jface.text.contentassist.ICompletionProposal; -import org.eclipse.jface.text.quickassist.IQuickAssistInvocationContext; -import org.eclipse.jface.text.quickassist.IQuickAssistProcessor; -import org.eclipse.jface.text.source.Annotation; - -import java.util.ArrayList; -import java.util.List; - -/** - * This class implements Quick Assists for XML files. It does not perform any - * quick assistance on its own, but it coordinates the various separate quick - * assists available for XML such that the order is logical. This is necessary - * because without it, the order of suggestions (when more than one assistant - * provides suggestions) is not always optimal. There doesn't seem to be a way - * from non-Java languages to set the sorting order (see - * https://bugs.eclipse.org/bugs/show_bug.cgi?id=229983 ). So instead of - * registering our multiple XML quick assistants via the plugin.xml file, we - * register <b>just</b> this manager, which delegates to the various XML quick - * assistants as appropriate. - */ -public class XmlQuickAssistManager implements IQuickAssistProcessor { - private final IQuickAssistProcessor[] mProcessors; - - /** Constructs a new {@link XmlQuickAssistManager} which orders the quick fixes */ - public XmlQuickAssistManager() { - mProcessors = new IQuickAssistProcessor[] { - new AaptQuickFix(), - new LintFixGenerator(), - new RefactoringAssistant() - }; - } - - @Override - public String getErrorMessage() { - return null; - } - - @Override - public boolean canFix(Annotation annotation) { - for (IQuickAssistProcessor processor : mProcessors) { - if (processor.canFix(annotation)) { - return true; - } - } - - return false; - } - - @Override - public boolean canAssist(IQuickAssistInvocationContext invocationContext) { - for (IQuickAssistProcessor processor : mProcessors) { - if (processor.canAssist(invocationContext)) { - return true; - } - } - - return false; - } - - @Override - public ICompletionProposal[] computeQuickAssistProposals( - IQuickAssistInvocationContext invocationContext) { - List<ICompletionProposal> allProposals = null; - for (IQuickAssistProcessor processor : mProcessors) { - if (processor.canAssist(invocationContext)) { - ICompletionProposal[] proposals = - processor.computeQuickAssistProposals(invocationContext); - if (proposals != null && proposals.length > 0) { - if (allProposals == null) { - allProposals = new ArrayList<ICompletionProposal>(); - } - for (ICompletionProposal proposal : proposals) { - allProposals.add(proposal); - } - } - } - } - - if (allProposals != null) { - return allProposals.toArray(new ICompletionProposal[allProposals.size()]); - } - - return null; - } -} |