aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java
diff options
context:
space:
mode:
Diffstat (limited to 'eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java')
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java249
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;
- }
-}