diff options
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java')
-rwxr-xr-x | eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java | 249 |
1 files changed, 0 insertions, 249 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java deleted file mode 100755 index d9ee8a5d8..000000000 --- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java +++ /dev/null @@ -1,249 +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.common; - -import com.android.annotations.NonNull; -import com.android.annotations.Nullable; -import com.android.ide.eclipse.adt.internal.editors.AndroidXmlEditor; -import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode; -import com.android.resources.ResourceFolderType; - -import org.eclipse.core.resources.IFile; -import org.eclipse.core.runtime.IProgressMonitor; -import org.eclipse.core.runtime.jobs.Job; -import org.eclipse.jface.text.contentassist.IContentAssistProcessor; -import org.eclipse.ui.IActionBars; -import org.eclipse.ui.IEditorInput; -import org.eclipse.ui.IEditorPart; -import org.eclipse.ui.IURIEditorInput; -import org.eclipse.ui.forms.editor.IFormPage; -import org.eclipse.ui.part.EditorActionBarContributor; -import org.eclipse.ui.part.FileEditorInput; -import org.eclipse.ui.part.MultiPageEditorPart; -import org.w3c.dom.Document; - -/** - * Implementation of form editor for /res XML files. - * <p/> - * All delegates must have one {@link IDelegateCreator} instance - * registered in the {@code DELEGATES[]} array of {@link CommonXmlEditor}. - */ -public abstract class CommonXmlDelegate { - - /** The editor that created the delegate. Never null. */ - private final CommonXmlEditor mEditor; - - /** Root node of the UI element hierarchy. Can be null. */ - private UiElementNode mUiRootNode; - - private IContentAssistProcessor mContentAssist; - - /** - * Static creator for {@link CommonXmlDelegate}s. Delegates implement a method - * that will decide whether this delegate can be created for the given file input. - */ - public interface IDelegateCreator { - /** - * Determines whether this delegate can handle the given file, typically - * based on its resource path (e.g. ResourceManager#getResourceFolder). - * - * @param delegator The non-null instance of {@link CommonXmlEditor}. - * @param type The {@link ResourceFolderType} of the folder containing the file, - * if it can be determined. Null otherwise. - * @return A new delegate that can handle that file or null. - */ - public @Nullable <T extends CommonXmlDelegate> T createForFile( - @NonNull CommonXmlEditor delegator, - @Nullable ResourceFolderType type); - } - - /** Implemented by delegates that need to support {@link EditorActionBarContributor} */ - public interface IActionContributorDelegate { - /** Called from {@link EditorActionBarContributor#setActiveEditor(IEditorPart)}. */ - public void setActiveEditor(IEditorPart part, IActionBars bars); - } - - protected CommonXmlDelegate( - CommonXmlEditor editor, - IContentAssistProcessor contentAssist) { - mEditor = editor; - mContentAssist = contentAssist; - } - - public void dispose() { - } - - /** - * Returns the editor that created this delegate. - * - * @return the editor that created this delegate. Never null. - */ - public @NonNull CommonXmlEditor getEditor() { - return mEditor; - } - - /** - * @return The root node of the UI element hierarchy - */ - public UiElementNode getUiRootNode() { - return mUiRootNode; - } - - protected void setUiRootNode(UiElementNode uiRootNode) { - mUiRootNode = uiRootNode; - } - - /** Called to compute the initial {@code UiRootNode}. */ - public abstract void delegateInitUiRootNode(boolean force); - - /** - * Returns true, indicating the "save as" operation is supported by this editor. - */ - public boolean isSaveAsAllowed() { - return true; - } - - /** - * Create the various form pages. - */ - public abstract void delegateCreateFormPages(); - - public void delegatePostCreatePages() { - // pass - } - - /** - * Changes the tab/title name to include the project name. - */ - public void delegateSetInput(IEditorInput input) { - if (input instanceof FileEditorInput) { - FileEditorInput fileInput = (FileEditorInput) input; - IFile file = fileInput.getFile(); - getEditor().setPartName(file.getName()); - } else if (input instanceof IURIEditorInput) { - IURIEditorInput uriInput = (IURIEditorInput) input; - String name = uriInput.getName(); - getEditor().setPartName(name); - } - } - - /** - * Processes the new XML Model, which XML root node is given. - * - * @param xml_doc The XML document, if available, or null if none exists. - */ - public abstract void delegateXmlModelChanged(Document xml_doc); - - public void delegatePageChange(int newPageIndex) { - // pass - } - - public void delegatePostPageChange(int newPageIndex) { - // pass - } - /** - * Save the XML. - * <p/> - * The actual save operation is done in the super class by committing - * all data to the XML model and then having the Structured XML Editor - * save the XML. - * <p/> - * Here we just need to tell the graphical editor that the model has - * been saved. - */ - public void delegateDoSave(IProgressMonitor monitor) { - // pass - } - - /** - * Tells the editor to start a Lint check. - * It's up to the caller to check whether this should be done depending on preferences. - */ - public Job delegateRunLint() { - return getEditor().startLintJob(); - } - - - /** - * Returns the custom IContentOutlinePage or IPropertySheetPage when asked for it. - */ - public Object delegateGetAdapter(Class<?> adapter) { - return null; - } - - /** - * Returns the {@link IContentAssistProcessor} associated with this editor. - * Most implementations should lazily allocate one processor and always return the - * same instance. - * Must return null if there's no specific content assist processor for this editor. - */ - public IContentAssistProcessor getAndroidContentAssistProcessor() { - return mContentAssist; - } - - /** - * Does this editor participate in the "format GUI editor changes" option? - * - * @return false since editors do not support automatically formatting XML - * affected by GUI changes unless they explicitly opt in to it. - */ - public boolean delegateSupportsFormatOnGuiEdit() { - return false; - } - - /** - * Called after the editor's active page has been set. - * - * @param superReturned the return value from - * {@link MultiPageEditorPart#setActivePage(int)} - * @param pageIndex the index of the page to be activated; the index must be - * valid - * @return the page, or null - * @see MultiPageEditorPart#setActivePage(int) - */ - public IFormPage delegatePostSetActivePage(IFormPage superReturned, String pageIndex) { - return superReturned; - } - - /** Called after an editor has been activated */ - public void delegateActivated() { - } - - /** Called after an editor has been deactivated */ - public void delegateDeactivated() { - } - - /** - * Returns the name of the editor to be shown in the editor tab etc. Return - * null to keep the default. - * - * @return the part name, or null to use the default - */ - public String delegateGetPartName() { - return null; - } - - /** - * Returns the persistence category, as described in - * {@link AndroidXmlEditor#getPersistenceCategory}. - * - * @return the persistence category to use for this editor - */ - public int delegateGetPersistenceCategory() { - return AndroidXmlEditor.CATEGORY_OTHER; - } -} |