aboutsummaryrefslogtreecommitdiffstats
path: root/eclipse
diff options
context:
space:
mode:
authorRaphael <raphael@google.com>2012-01-17 14:52:09 -0800
committerRaphael <raphael@google.com>2012-01-19 13:22:46 -0800
commit7d7b8fb5d49f986d0e01619829ae3f4f82df46ce (patch)
tree44a717d64b0bf0c5126dc2624c86301e7d1e25e4 /eclipse
parent4c07263da057b6014342089097a3a4c6ebe993d2 (diff)
downloadsdk-7d7b8fb5d49f986d0e01619829ae3f4f82df46ce.zip
sdk-7d7b8fb5d49f986d0e01619829ae3f4f82df46ce.tar.gz
sdk-7d7b8fb5d49f986d0e01619829ae3f4f82df46ce.tar.bz2
ADT: Refactor common parts of the EditorDelegates.
Change-Id: I439a81f8c05cacc257697d2cb0ac7f1e99b65439
Diffstat (limited to 'eclipse')
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCommonEditor.java12
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorDelegate.java62
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlLayoutEditDelegate.java4
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimationEditorDelegate.java90
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/color/ColorEditorDelegate.java70
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/drawable/DrawableEditorDelegate.java82
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/menu/MenuEditorDelegate.java (renamed from eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/menu/MenuEditorDelegator.java)102
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/ResourcesEditorDelegate.java82
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/OtherXmlEditorDelegate.java80
9 files changed, 155 insertions, 429 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCommonEditor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCommonEditor.java
index 5f07ba5..0bf1c34 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCommonEditor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlCommonEditor.java
@@ -16,16 +16,19 @@
package com.android.ide.eclipse.adt.internal.editors;
+import com.android.ide.common.resources.ResourceFolder;
import com.android.ide.eclipse.adt.AdtConstants;
import com.android.ide.eclipse.adt.AdtPlugin;
import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate.IXmlEditorCreator;
import com.android.ide.eclipse.adt.internal.editors.animator.AnimationEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.color.ColorEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.drawable.DrawableEditorDelegate;
-import com.android.ide.eclipse.adt.internal.editors.menu.MenuEditorDelegator;
+import com.android.ide.eclipse.adt.internal.editors.menu.MenuEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.resources.ResourcesEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
import com.android.ide.eclipse.adt.internal.editors.xml.OtherXmlEditorDelegate;
+import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
+import com.android.resources.ResourceFolderType;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IProgressMonitor;
@@ -64,7 +67,7 @@ public class AndroidXmlCommonEditor extends AndroidXmlEditor implements IShowEdi
new AnimationEditorDelegate.Creator(),
new ColorEditorDelegate.Creator(),
new DrawableEditorDelegate.Creator(),
- new MenuEditorDelegator.Creator(),
+ new MenuEditorDelegate.Creator(),
new OtherXmlEditorDelegate.Creator(),
};
@@ -97,8 +100,11 @@ public class AndroidXmlCommonEditor extends AndroidXmlEditor implements IShowEdi
}
}
+ ResourceFolder resFolder = ResourceManager.getInstance().getResourceFolder(file);
+ ResourceFolderType type = resFolder == null ? null : resFolder.getType();
+
for (IXmlEditorCreator creator : DELEGATES) {
- mDelegate = creator.createForFile(this, fileInput);
+ mDelegate = creator.createForFile(this, fileInput, type);
if (mDelegate != null) {
return;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorDelegate.java
index 8aa8985..4b96b3c 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlEditorDelegate.java
@@ -19,11 +19,13 @@ package com.android.ide.eclipse.adt.internal.editors;
import com.android.annotations.NonNull;
import com.android.annotations.Nullable;
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.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
+import org.eclipse.ui.part.FileEditorInput;
import org.w3c.dom.Document;
/**
@@ -34,6 +36,12 @@ import org.w3c.dom.Document;
*/
public abstract class XmlEditorDelegate {
+ /** The editor that created the delegate. Never null. */
+ private final AndroidXmlCommonEditor mEditor;
+
+ /** Root node of the UI element hierarchy. Can be null. */
+ private UiElementNode mUiRootNode;
+
/**
* Static creator for {@link XmlEditorDelegate}s. Delegates implement a method
* that will decide whether this delegate can be created for the given file input.
@@ -45,11 +53,21 @@ public abstract class XmlEditorDelegate {
*
* @param delegator The non-null instance of {@link AndroidXmlCommonEditor}.
* @param input A non-null input file.
+ * @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 XmlEditorDelegate> T createForFile(
@NonNull AndroidXmlCommonEditor delegator,
- @NonNull IFileEditorInput input);
+ @NonNull IFileEditorInput input,
+ @Nullable ResourceFolderType type);
+ }
+
+ public XmlEditorDelegate(AndroidXmlCommonEditor editor) {
+ mEditor = editor;
+ }
+
+ public void dispose() {
}
/**
@@ -57,29 +75,30 @@ public abstract class XmlEditorDelegate {
*
* @return the editor that created this delegate. Never null.
*/
- public abstract @NonNull AndroidXmlCommonEditor getEditor();
-
-
- // ---- Common Methods, used by all XML editors
-
- public abstract void dispose();
+ public @NonNull AndroidXmlCommonEditor getEditor() {
+ return mEditor;
+ }
/**
* @return The root node of the UI element hierarchy
*/
- public abstract UiElementNode getUiRootNode();
+ public UiElementNode getUiRootNode() {
+ return mUiRootNode;
+ }
+
+ protected void setUiRootNode(UiElementNode uiRootNode) {
+ mUiRootNode = uiRootNode;
+ }
+ /** Called to compute the initial {@code UiRootNode}. */
public abstract void initUiRootNode(boolean force);
/**
- * Returns whether the "save as" operation is supported by this editor.
- * <p/>
- * Save-As is a valid operation for the ManifestEditor since it acts on a
- * single source file.
- *
- * @see IEditorPart
+ * Returns true, indicating the "save as" operation is supported by this editor.
*/
- public abstract boolean isSaveAsAllowed();
+ public boolean isSaveAsAllowed() {
+ return true;
+ }
/**
* Create the various form pages.
@@ -90,7 +109,16 @@ public abstract class XmlEditorDelegate {
// pass
}
- public abstract void setInput(IEditorInput input);
+ /**
+ * Changes the tab/title name to include the project name.
+ */
+ public void setInput(IEditorInput input) {
+ if (input instanceof FileEditorInput) {
+ FileEditorInput fileInput = (FileEditorInput) input;
+ IFile file = fileInput.getFile();
+ getEditor().setPartName(String.format("%1$s", file.getName()));
+ }
+ }
/**
* Processes the new XML Model, which XML root node is given.
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlLayoutEditDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlLayoutEditDelegate.java
index c9b5fd8..151dcb9 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlLayoutEditDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/XmlLayoutEditDelegate.java
@@ -32,6 +32,10 @@ import org.eclipse.ui.IEditorInput;
*/
public abstract class XmlLayoutEditDelegate extends XmlEditorDelegate {
+ public XmlLayoutEditDelegate(AndroidXmlCommonEditor editor) {
+ super(editor);
+ }
+
public abstract void setInputWithNotify(IEditorInput input);
/**
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimationEditorDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimationEditorDelegate.java
index d97eb86..28d1a96 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimationEditorDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/animator/AnimationEditorDelegate.java
@@ -18,20 +18,15 @@ package com.android.ide.eclipse.adt.internal.editors.animator;
import static com.android.ide.eclipse.adt.AdtConstants.EDITORS_NAMESPACE;
-import com.android.ide.common.resources.ResourceFolder;
-import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.AndroidXmlCommonEditor;
+import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.descriptors.DocumentDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.resources.ResourceFolderType;
import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -48,11 +43,8 @@ public class AnimationEditorDelegate extends XmlEditorDelegate {
@SuppressWarnings("unchecked")
public AnimationEditorDelegate createForFile(
AndroidXmlCommonEditor delegator,
- IFileEditorInput input) {
- // get the IFile object and check it's the desired sub-resource folder
- IFile iFile = input.getFile();
- ResourceFolder resFolder = ResourceManager.getInstance().getResourceFolder(iFile);
- ResourceFolderType type = resFolder == null ? null : resFolder.getType();
+ IFileEditorInput input,
+ ResourceFolderType type) {
if (ResourceFolderType.ANIM == type || ResourceFolderType.ANIMATOR == type) {
return new AnimationEditorDelegate(delegator);
}
@@ -63,41 +55,15 @@ public class AnimationEditorDelegate extends XmlEditorDelegate {
/**
* Old standalone-editor ID.
- * @deprecated Use {@link AndroidXmlCommonEditor#ID} instead.
+ * Use {@link AndroidXmlCommonEditor#ID} instead.
*/
- @Deprecated
public static final String OLD_STANDALONE_EDITOR_ID = EDITORS_NAMESPACE + ".animator.AnimationEditor"; //$NON-NLS-1$
- /** Root node of the UI element hierarchy */
- private UiElementNode mUiRootNode;
/** The tag used at the root */
private String mRootTag;
- private final AndroidXmlCommonEditor mDelegator;
-
- public AnimationEditorDelegate(AndroidXmlCommonEditor delegator) {
- mDelegator = delegator;
- }
-
-
- @Override
- public AndroidXmlCommonEditor getEditor() {
- return mDelegator;
- }
-
- @Override
- public void dispose() {
- // pass
- }
-
- @Override
- public UiElementNode getUiRootNode() {
- return mUiRootNode;
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return true;
+ public AnimationEditorDelegate(AndroidXmlCommonEditor editor) {
+ super(editor);
}
@Override
@@ -112,18 +78,6 @@ public class AnimationEditorDelegate extends XmlEditorDelegate {
*/
}
- /* (non-java doc)
- * Change the tab/title name to include the project name.
- */
- @Override
- public void setInput(IEditorInput input) {
- if (input instanceof FileEditorInput) {
- FileEditorInput fileInput = (FileEditorInput) input;
- IFile file = fileInput.getFile();
- mDelegator.setPartName(String.format("%1$s", file.getName()));
- }
- }
-
/**
* Processes the new XML Model.
*
@@ -140,7 +94,7 @@ public class AnimationEditorDelegate extends XmlEditorDelegate {
initUiRootNode(false /*force*/);
if (mRootTag != null
- && !mRootTag.equals(mUiRootNode.getDescriptor().getXmlLocalName())) {
+ && !mRootTag.equals(getUiRootNode().getDescriptor().getXmlLocalName())) {
AndroidTargetData data = getEditor().getTargetData();
if (data != null) {
ElementDescriptor descriptor;
@@ -152,27 +106,27 @@ public class AnimationEditorDelegate extends XmlEditorDelegate {
// Replace top level node now that we know the actual type
// Disconnect from old
- mUiRootNode.setEditor(null);
- mUiRootNode.setXmlDocument(null);
+ getUiRootNode().setEditor(null);
+ getUiRootNode().setXmlDocument(null);
// Create new
- mUiRootNode = descriptor.createUiNode();
- mUiRootNode.setXmlDocument(xmlDoc);
- mUiRootNode.setEditor(mDelegator);
+ setUiRootNode(descriptor.createUiNode());
+ getUiRootNode().setXmlDocument(xmlDoc);
+ getUiRootNode().setEditor(getEditor());
}
}
- if (mUiRootNode.getDescriptor() instanceof DocumentDescriptor) {
- mUiRootNode.loadFromXmlNode(xmlDoc);
+ if (getUiRootNode().getDescriptor() instanceof DocumentDescriptor) {
+ getUiRootNode().loadFromXmlNode(xmlDoc);
} else {
- mUiRootNode.loadFromXmlNode(rootElement);
+ getUiRootNode().loadFromXmlNode(rootElement);
}
}
@Override
public void initUiRootNode(boolean force) {
// The manifest UI node is always created, even if there's no corresponding XML node.
- if (mUiRootNode == null || force) {
+ if (getUiRootNode() == null || force) {
ElementDescriptor descriptor;
boolean reload = false;
AndroidTargetData data = getEditor().getTargetData();
@@ -186,8 +140,8 @@ public class AnimationEditorDelegate extends XmlEditorDelegate {
}
reload = true;
}
- mUiRootNode = descriptor.createUiNode();
- mUiRootNode.setEditor(mDelegator);
+ setUiRootNode(descriptor.createUiNode());
+ getUiRootNode().setEditor(getEditor());
if (reload) {
onDescriptorsChanged();
@@ -196,7 +150,7 @@ public class AnimationEditorDelegate extends XmlEditorDelegate {
}
private ResourceFolderType getFolderType() {
- IFile inputFile = mDelegator.getInputFile();
+ IFile inputFile = getEditor().getInputFile();
if (inputFile != null) {
String folderName = inputFile.getParent().getName();
return ResourceFolderType.getFolderType(folderName);
@@ -205,11 +159,11 @@ public class AnimationEditorDelegate extends XmlEditorDelegate {
}
private void onDescriptorsChanged() {
- IStructuredModel model = mDelegator.getModelForRead();
+ IStructuredModel model = getEditor().getModelForRead();
if (model != null) {
try {
- Node node = mDelegator.getXmlDocument(model).getDocumentElement();
- mUiRootNode.reloadFromXmlNode(node);
+ Node node = getEditor().getXmlDocument(model).getDocumentElement();
+ getUiRootNode().reloadFromXmlNode(node);
} finally {
model.releaseFromRead();
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/color/ColorEditorDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/color/ColorEditorDelegate.java
index 4e924a3..5e83eb8 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/color/ColorEditorDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/color/ColorEditorDelegate.java
@@ -18,19 +18,13 @@ package com.android.ide.eclipse.adt.internal.editors.color;
import static com.android.ide.eclipse.adt.AdtConstants.EDITORS_NAMESPACE;
-import com.android.ide.common.resources.ResourceFolder;
-import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.AndroidXmlCommonEditor;
+import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.resources.ResourceFolderType;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -47,11 +41,8 @@ public class ColorEditorDelegate extends XmlEditorDelegate {
@SuppressWarnings("unchecked")
public ColorEditorDelegate createForFile(
AndroidXmlCommonEditor delegator,
- IFileEditorInput input) {
- // get the IFile object and check it's the desired sub-resource folder
- IFile iFile = input.getFile();
- ResourceFolder resFolder = ResourceManager.getInstance().getResourceFolder(iFile);
- ResourceFolderType type = resFolder == null ? null : resFolder.getType();
+ IFileEditorInput input,
+ ResourceFolderType type) {
if (ResourceFolderType.COLOR.equals(type)) {
return new ColorEditorDelegate(delegator);
}
@@ -62,39 +53,13 @@ public class ColorEditorDelegate extends XmlEditorDelegate {
/**
* Old standalone-editor ID.
- * @deprecated Use {@link AndroidXmlCommonEditor#ID} instead.
+ * Use {@link AndroidXmlCommonEditor#ID} instead.
*/
- @Deprecated
public static final String OLD_STANDALONE_EDITOR_ID = EDITORS_NAMESPACE + ".color.ColorEditor"; //$NON-NLS-1$
- /** Root node of the UI element hierarchy */
- private UiElementNode mUiRootNode;
-
- private final AndroidXmlCommonEditor mDelegator;
-
- public ColorEditorDelegate(AndroidXmlCommonEditor delegator) {
- super();
- mDelegator = delegator;
- }
-
- @Override
- public AndroidXmlCommonEditor getEditor() {
- return mDelegator;
- }
- @Override
- public void dispose() {
- // pass
- }
-
- @Override
- public UiElementNode getUiRootNode() {
- return mUiRootNode;
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return true;
+ public ColorEditorDelegate(AndroidXmlCommonEditor editor) {
+ super(editor);
}
@Override
@@ -107,19 +72,6 @@ public class ColorEditorDelegate extends XmlEditorDelegate {
AdtPlugin.getDefault().getLog().log(e.getStatus());
}
*/
- }
-
- /* (non-java doc)
- * Change the tab/title name to include the project name.
- */
- @Override
- public void setInput(IEditorInput input) {
- if (input instanceof FileEditorInput) {
- FileEditorInput fileInput = (FileEditorInput) input;
- IFile file = fileInput.getFile();
- getEditor().setPartName(String.format("%1$s",
- file.getName()));
- }
}
@Override
@@ -128,13 +80,13 @@ public class ColorEditorDelegate extends XmlEditorDelegate {
initUiRootNode(false /*force*/);
Element rootElement = xmlDoc.getDocumentElement();
- mUiRootNode.loadFromXmlNode(rootElement);
+ getUiRootNode().loadFromXmlNode(rootElement);
}
@Override
public void initUiRootNode(boolean force) {
// The manifest UI node is always created, even if there's no corresponding XML node.
- if (mUiRootNode == null || force) {
+ if (getUiRootNode() == null || force) {
ElementDescriptor descriptor;
AndroidTargetData data = getEditor().getTargetData();
if (data == null) {
@@ -142,8 +94,8 @@ public class ColorEditorDelegate extends XmlEditorDelegate {
} else {
descriptor = data.getColorDescriptors().getDescriptor();
}
- mUiRootNode = descriptor.createUiNode();
- mUiRootNode.setEditor(getEditor());
+ setUiRootNode(descriptor.createUiNode());
+ getUiRootNode().setEditor(getEditor());
onDescriptorsChanged();
}
}
@@ -153,7 +105,7 @@ public class ColorEditorDelegate extends XmlEditorDelegate {
if (model != null) {
try {
Node node = getEditor().getXmlDocument(model).getDocumentElement();
- mUiRootNode.reloadFromXmlNode(node);
+ getUiRootNode().reloadFromXmlNode(node);
} finally {
model.releaseFromRead();
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/drawable/DrawableEditorDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/drawable/DrawableEditorDelegate.java
index 2c8bc1a..7b89d32 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/drawable/DrawableEditorDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/drawable/DrawableEditorDelegate.java
@@ -18,20 +18,14 @@ package com.android.ide.eclipse.adt.internal.editors.drawable;
import static com.android.ide.eclipse.adt.AdtConstants.EDITORS_NAMESPACE;
-import com.android.ide.common.resources.ResourceFolder;
-import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.AndroidXmlCommonEditor;
+import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.descriptors.DocumentDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.resources.ResourceFolderType;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.IFileEditorInput;
-import org.eclipse.ui.part.FileEditorInput;
import org.eclipse.wst.sse.core.internal.provisional.IStructuredModel;
import org.w3c.dom.Document;
import org.w3c.dom.Element;
@@ -48,11 +42,8 @@ public class DrawableEditorDelegate extends XmlEditorDelegate {
@SuppressWarnings("unchecked")
public DrawableEditorDelegate createForFile(
AndroidXmlCommonEditor delegator,
- IFileEditorInput input) {
- // get the IFile object and check it's the desired sub-resource folder
- IFile iFile = input.getFile();
- ResourceFolder resFolder = ResourceManager.getInstance().getResourceFolder(iFile);
- ResourceFolderType type = resFolder == null ? null : resFolder.getType();
+ IFileEditorInput input,
+ ResourceFolderType type) {
if (ResourceFolderType.DRAWABLE.equals(type)) {
return new DrawableEditorDelegate(delegator);
}
@@ -63,44 +54,18 @@ public class DrawableEditorDelegate extends XmlEditorDelegate {
/**
* Old standalone-editor ID.
- * @deprecated Use {@link AndroidXmlCommonEditor#ID} instead.
+ * Use {@link AndroidXmlCommonEditor#ID} instead.
*/
- @Deprecated
public static final String OLD_STANDALONE_EDITOR_ID = EDITORS_NAMESPACE + ".drawable.DrawableEditor"; //$NON-NLS-1$
- /** Root node of the UI element hierarchy */
- private UiElementNode mUiRootNode;
/** The tag used at the root */
private String mRootTag;
- private final AndroidXmlCommonEditor mDelegator;
-
/**
* Creates the form editor for resources XML files.
*/
- public DrawableEditorDelegate(AndroidXmlCommonEditor delegator) {
- super();
- mDelegator = delegator;
- }
-
- @Override
- public AndroidXmlCommonEditor getEditor() {
- return mDelegator;
- }
-
- @Override
- public void dispose() {
- // pass
- }
-
- @Override
- public UiElementNode getUiRootNode() {
- return mUiRootNode;
- }
-
- @Override
- public boolean isSaveAsAllowed() {
- return true;
+ public DrawableEditorDelegate(AndroidXmlCommonEditor editor) {
+ super(editor);
}
@Override
@@ -116,15 +81,6 @@ public class DrawableEditorDelegate extends XmlEditorDelegate {
}
@Override
- public void setInput(IEditorInput input) {
- if (input instanceof FileEditorInput) {
- FileEditorInput fileInput = (FileEditorInput) input;
- IFile file = fileInput.getFile();
- getEditor().setPartName(String.format("%1$s", file.getName()));
- }
- }
-
- @Override
public void xmlModelChanged(Document xmlDoc) {
Element rootElement = xmlDoc.getDocumentElement();
if (rootElement != null) {
@@ -134,7 +90,7 @@ public class DrawableEditorDelegate extends XmlEditorDelegate {
initUiRootNode(false /*force*/);
if (mRootTag != null
- && !mRootTag.equals(mUiRootNode.getDescriptor().getXmlLocalName())) {
+ && !mRootTag.equals(getUiRootNode().getDescriptor().getXmlLocalName())) {
AndroidTargetData data = getEditor().getTargetData();
if (data != null) {
ElementDescriptor descriptor =
@@ -142,27 +98,27 @@ public class DrawableEditorDelegate extends XmlEditorDelegate {
// Replace top level node now that we know the actual type
// Disconnect from old
- mUiRootNode.setEditor(null);
- mUiRootNode.setXmlDocument(null);
+ getUiRootNode().setEditor(null);
+ getUiRootNode().setXmlDocument(null);
// Create new
- mUiRootNode = descriptor.createUiNode();
- mUiRootNode.setXmlDocument(xmlDoc);
- mUiRootNode.setEditor(getEditor());
+ setUiRootNode(descriptor.createUiNode());
+ getUiRootNode().setXmlDocument(xmlDoc);
+ getUiRootNode().setEditor(getEditor());
}
}
- if (mUiRootNode.getDescriptor() instanceof DocumentDescriptor) {
- mUiRootNode.loadFromXmlNode(xmlDoc);
+ if (getUiRootNode().getDescriptor() instanceof DocumentDescriptor) {
+ getUiRootNode().loadFromXmlNode(xmlDoc);
} else {
- mUiRootNode.loadFromXmlNode(rootElement);
+ getUiRootNode().loadFromXmlNode(rootElement);
}
}
@Override
public void initUiRootNode(boolean force) {
// The manifest UI node is always created, even if there's no corresponding XML node.
- if (mUiRootNode == null || force) {
+ if (getUiRootNode() == null || force) {
ElementDescriptor descriptor;
boolean reload = false;
AndroidTargetData data = getEditor().getTargetData();
@@ -172,8 +128,8 @@ public class DrawableEditorDelegate extends XmlEditorDelegate {
descriptor = data.getDrawableDescriptors().getElementDescriptor(mRootTag);
reload = true;
}
- mUiRootNode = descriptor.createUiNode();
- mUiRootNode.setEditor(getEditor());
+ setUiRootNode(descriptor.createUiNode());
+ getUiRootNode().setEditor(getEditor());
if (reload) {
onDescriptorsChanged();
@@ -186,7 +142,7 @@ public class DrawableEditorDelegate extends XmlEditorDelegate {
if (model != null) {
try {
Node node = getEditor().getXmlDocument(model).getDocumentElement();
- mUiRootNode.reloadFromXmlNode(node);
+ getUiRootNode().reloadFromXmlNode(node);
} finally {
model.releaseFromRead();
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/menu/MenuEditorDelegator.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/menu/MenuEditorDelegate.java
index 0523f0c..0571947 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/menu/MenuEditorDelegator.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/menu/MenuEditorDelegate.java
@@ -16,25 +16,18 @@
package com.android.ide.eclipse.adt.internal.editors.menu;
-import com.android.ide.common.resources.ResourceFolder;
import com.android.ide.eclipse.adt.AdtConstants;
import com.android.ide.eclipse.adt.AdtPlugin;
-import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.AndroidXmlCommonEditor;
+import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor.Mandatory;
-import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.resources.ResourceFolderType;
import com.android.sdklib.xml.AndroidXPathFactory;
-import org.eclipse.core.resources.IFile;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -45,20 +38,17 @@ import javax.xml.xpath.XPathExpressionException;
/**
* Multi-page form editor for /res/menu XML files.
*/
-public class MenuEditorDelegator extends XmlEditorDelegate {
+public class MenuEditorDelegate extends XmlEditorDelegate {
public static class Creator implements IXmlEditorCreator {
@Override
@SuppressWarnings("unchecked")
- public MenuEditorDelegator createForFile(
+ public MenuEditorDelegate createForFile(
AndroidXmlCommonEditor delegator,
- IFileEditorInput input) {
- // get the IFile object and check it's the desired sub-resource folder
- IFile iFile = input.getFile();
- ResourceFolder resFolder = ResourceManager.getInstance().getResourceFolder(iFile);
- ResourceFolderType type = resFolder == null ? null : resFolder.getType();
+ IFileEditorInput input,
+ ResourceFolderType type) {
if (ResourceFolderType.MENU.equals(type)) {
- return new MenuEditorDelegator(delegator);
+ return new MenuEditorDelegate(delegator);
}
return null;
@@ -67,56 +57,16 @@ public class MenuEditorDelegator extends XmlEditorDelegate {
/**
* Old standalone-editor ID.
- * @deprecated Use {@link AndroidXmlCommonEditor#ID} instead.
+ * Use {@link AndroidXmlCommonEditor#ID} instead.
*/
@Deprecated
public static final String OLD_STANDALONE_EDITOR_ID = AdtConstants.EDITORS_NAMESPACE + ".menu.MenuEditor"; //$NON-NLS-1$
- /** Root node of the UI element hierarchy */
- private UiElementNode mUiRootNode;
-
- private final AndroidXmlCommonEditor mDelegator;
-
/**
* Creates the form editor for resources XML files.
*/
- public MenuEditorDelegator(AndroidXmlCommonEditor delegator) {
- super();
- mDelegator = delegator;
- }
-
- @Override
- public AndroidXmlCommonEditor getEditor() {
- return mDelegator;
- }
-
- @Override
- public void dispose() {
- // pass
- }
-
- /**
- * Returns the root node of the UI element hierarchy, which here is
- * the "menu" node.
- */
- @Override
- public UiElementNode getUiRootNode() {
- return mUiRootNode;
- }
-
- // ---- Base Class Overrides ----
-
- /**
- * Returns whether the "save as" operation is supported by this editor.
- * <p/>
- * Save-As is a valid operation for the ManifestEditor since it acts on a
- * single source file.
- *
- * @see IEditorPart
- */
- @Override
- public boolean isSaveAsAllowed() {
- return true;
+ public MenuEditorDelegate(AndroidXmlCommonEditor editor) {
+ super(editor);
}
/**
@@ -132,18 +82,6 @@ public class MenuEditorDelegator extends XmlEditorDelegate {
}
- /* (non-java doc)
- * Change the tab/title name to include the project name.
- */
- @Override
- public void setInput(IEditorInput input) {
- if (input instanceof FileEditorInput) {
- FileEditorInput fileInput = (FileEditorInput) input;
- IFile file = fileInput.getFile();
- getEditor().setPartName(String.format("%1$s", file.getName()));
- }
- }
-
private boolean mUpdatingModel;
/**
@@ -163,9 +101,9 @@ public class MenuEditorDelegator extends XmlEditorDelegate {
// init the ui root on demand
initUiRootNode(false /*force*/);
- mUiRootNode.setXmlDocument(xml_doc);
+ getUiRootNode().setXmlDocument(xml_doc);
if (xml_doc != null) {
- ElementDescriptor root_desc = mUiRootNode.getDescriptor();
+ ElementDescriptor root_desc = getUiRootNode().getDescriptor();
try {
XPath xpath = AndroidXPathFactory.newXPath();
Node node = (Node) xpath.evaluate("/" + root_desc.getXmlName(), //$NON-NLS-1$
@@ -173,11 +111,11 @@ public class MenuEditorDelegator extends XmlEditorDelegate {
XPathConstants.NODE);
if (node == null && root_desc.getMandatory() != Mandatory.NOT_MANDATORY) {
// Create the root element if it doesn't exist yet (for empty new documents)
- node = mUiRootNode.createXmlNode();
+ node = getUiRootNode().createXmlNode();
}
// Refresh the manifest UI node and all its descendants
- mUiRootNode.loadFromXmlNode(node);
+ getUiRootNode().loadFromXmlNode(node);
// TODO ? startMonitoringMarkers();
} catch (XPathExpressionException e) {
@@ -198,10 +136,10 @@ public class MenuEditorDelegator extends XmlEditorDelegate {
@Override
public void initUiRootNode(boolean force) {
// The root UI node is always created, even if there's no corresponding XML node.
- if (mUiRootNode == null || force) {
+ if (getUiRootNode() == null || force) {
Document doc = null;
- if (mUiRootNode != null) {
- doc = mUiRootNode.getXmlDocument();
+ if (getUiRootNode() != null) {
+ doc = getUiRootNode().getXmlDocument();
}
// get the target data from the opened file (and its project)
@@ -214,8 +152,8 @@ public class MenuEditorDelegator extends XmlEditorDelegate {
desc = data.getMenuDescriptors().getDescriptor();
}
- mUiRootNode = desc.createUiNode();
- mUiRootNode.setEditor(getEditor());
+ setUiRootNode(desc.createUiNode());
+ getUiRootNode().setEditor(getEditor());
onDescriptorsChanged(doc);
}
@@ -228,9 +166,9 @@ public class MenuEditorDelegator extends XmlEditorDelegate {
*/
private void onDescriptorsChanged(Document document) {
if (document != null) {
- mUiRootNode.loadFromXmlNode(document);
+ getUiRootNode().loadFromXmlNode(document);
} else {
- mUiRootNode.reloadFromXmlNode(mUiRootNode.getXmlNode());
+ getUiRootNode().reloadFromXmlNode(getUiRootNode().getXmlNode());
}
}
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/ResourcesEditorDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/ResourcesEditorDelegate.java
index c4efb1a..5387c40 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/ResourcesEditorDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/resources/ResourcesEditorDelegate.java
@@ -16,25 +16,18 @@
package com.android.ide.eclipse.adt.internal.editors.resources;
-import com.android.ide.common.resources.ResourceFolder;
import com.android.ide.eclipse.adt.AdtConstants;
import com.android.ide.eclipse.adt.AdtPlugin;
-import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.AndroidXmlCommonEditor;
+import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
import com.android.ide.eclipse.adt.internal.editors.resources.descriptors.ResourcesDescriptors;
-import com.android.ide.eclipse.adt.internal.editors.uimodel.UiElementNode;
-import com.android.ide.eclipse.adt.internal.resources.manager.ResourceManager;
import com.android.resources.ResourceFolderType;
import com.android.sdklib.xml.AndroidXPathFactory;
-import org.eclipse.core.resources.IFile;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
import org.w3c.dom.Document;
import org.w3c.dom.Node;
@@ -52,11 +45,8 @@ public class ResourcesEditorDelegate extends XmlEditorDelegate {
@SuppressWarnings("unchecked")
public ResourcesEditorDelegate createForFile(
AndroidXmlCommonEditor delegator,
- IFileEditorInput input) {
- // get the IFile object and check it's the desired sub-resource folder
- IFile iFile = input.getFile();
- ResourceFolder resFolder = ResourceManager.getInstance().getResourceFolder(iFile);
- ResourceFolderType type = resFolder == null ? null : resFolder.getType();
+ IFileEditorInput input,
+ ResourceFolderType type) {
if (ResourceFolderType.VALUES.equals(type)) {
return new ResourcesEditorDelegate(delegator);
}
@@ -67,60 +57,22 @@ public class ResourcesEditorDelegate extends XmlEditorDelegate {
/**
* Old standalone-editor ID.
- * @deprecated Use {@link AndroidXmlCommonEditor#ID} instead.
+ * Use {@link AndroidXmlCommonEditor#ID} instead.
*/
@Deprecated
public static final String OLD_STANDALONE_EDITOR_ID = AdtConstants.EDITORS_NAMESPACE + ".resources.ResourcesEditor"; //$NON-NLS-1$
- /** Root node of the UI element hierarchy */
- private UiElementNode mUiResourcesNode;
-
- private final AndroidXmlCommonEditor mDelegator;
-
/**
* Creates the form editor for resources XML files.
*/
- public ResourcesEditorDelegate(AndroidXmlCommonEditor delegator) {
- super();
- mDelegator = delegator;
- }
-
- @Override
- public AndroidXmlCommonEditor getEditor() {
- return mDelegator;
- }
-
- @Override
- public void dispose() {
- // pass
- }
-
- /**
- * Returns the root node of the UI element hierarchy, which
- * here is the "resources" node.
- */
- @Override
- public UiElementNode getUiRootNode() {
- return mUiResourcesNode;
+ public ResourcesEditorDelegate(AndroidXmlCommonEditor editor) {
+ super(editor);
}
// ---- Base Class Overrides ----
/**
- * Returns whether the "save as" operation is supported by this editor.
- * <p/>
- * Save-As is a valid operation for the ManifestEditor since it acts on a
- * single source file.
- *
- * @see IEditorPart
- */
- @Override
- public boolean isSaveAsAllowed() {
- return true;
- }
-
- /**
* Create the various form pages.
*/
@Override
@@ -133,18 +85,6 @@ public class ResourcesEditorDelegate extends XmlEditorDelegate {
}
}
- /* (non-java doc)
- * Change the tab/title name to include the project name.
- */
- @Override
- public void setInput(IEditorInput input) {
- if (input instanceof FileEditorInput) {
- FileEditorInput fileInput = (FileEditorInput) input;
- IFile file = fileInput.getFile();
- getEditor().setPartName(String.format("%1$s", file.getName()));
- }
- }
-
/**
* Processes the new XML Model, which XML root node is given.
*
@@ -155,7 +95,7 @@ public class ResourcesEditorDelegate extends XmlEditorDelegate {
// init the ui root on demand
initUiRootNode(false /*force*/);
- mUiResourcesNode.setXmlDocument(xml_doc);
+ getUiRootNode().setXmlDocument(xml_doc);
if (xml_doc != null) {
ElementDescriptor resources_desc =
ResourcesDescriptors.getInstance().getElementDescriptor();
@@ -168,7 +108,7 @@ public class ResourcesEditorDelegate extends XmlEditorDelegate {
assert node == null || node.getNodeName().equals(resources_desc.getXmlName());
// Refresh the manifest UI node and all its descendants
- mUiResourcesNode.loadFromXmlNode(node);
+ getUiRootNode().loadFromXmlNode(node);
} catch (XPathExpressionException e) {
AdtPlugin.log(e, "XPath error when trying to find '%s' element in XML.", //$NON-NLS-1$
resources_desc.getXmlName());
@@ -183,11 +123,11 @@ public class ResourcesEditorDelegate extends XmlEditorDelegate {
@Override
public void initUiRootNode(boolean force) {
// The manifest UI node is always created, even if there's no corresponding XML node.
- if (mUiResourcesNode == null || force) {
+ if (getUiRootNode() == null || force) {
ElementDescriptor resources_desc =
ResourcesDescriptors.getInstance().getElementDescriptor();
- mUiResourcesNode = resources_desc.createUiNode();
- mUiResourcesNode.setEditor(getEditor());
+ setUiRootNode(resources_desc.createUiNode());
+ getUiRootNode().setEditor(getEditor());
onDescriptorsChanged();
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/OtherXmlEditorDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/OtherXmlEditorDelegate.java
index d39d749..559212e 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/OtherXmlEditorDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/xml/OtherXmlEditorDelegate.java
@@ -18,25 +18,22 @@ package com.android.ide.eclipse.adt.internal.editors.xml;
import com.android.ide.eclipse.adt.AdtConstants;
import com.android.ide.eclipse.adt.AdtPlugin;
+import com.android.ide.eclipse.adt.internal.editors.AndroidXmlCommonEditor;
import com.android.ide.eclipse.adt.internal.editors.FirstElementParser;
import com.android.ide.eclipse.adt.internal.editors.XmlEditorDelegate;
-import com.android.ide.eclipse.adt.internal.editors.AndroidXmlCommonEditor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.DocumentDescriptor;
import com.android.ide.eclipse.adt.internal.editors.descriptors.ElementDescriptor;
-import com.android.ide.eclipse.adt.internal.editors.uimodel.UiDocumentNode;
import com.android.ide.eclipse.adt.internal.sdk.AndroidTargetData;
import com.android.ide.eclipse.adt.internal.sdk.Sdk;
+import com.android.resources.ResourceFolderType;
import com.android.sdklib.IAndroidTarget;
import com.android.sdklib.SdkConstants;
import org.eclipse.core.resources.IFile;
import org.eclipse.core.resources.IProject;
import org.eclipse.core.runtime.IStatus;
-import org.eclipse.ui.IEditorInput;
-import org.eclipse.ui.IEditorPart;
import org.eclipse.ui.IFileEditorInput;
import org.eclipse.ui.PartInitException;
-import org.eclipse.ui.part.FileEditorInput;
import org.w3c.dom.Document;
/**
@@ -49,7 +46,8 @@ public class OtherXmlEditorDelegate extends XmlEditorDelegate {
@SuppressWarnings("unchecked")
public OtherXmlEditorDelegate createForFile(
AndroidXmlCommonEditor delegator,
- IFileEditorInput input) {
+ IFileEditorInput input,
+ ResourceFolderType type) {
// get the IFile object and check it's the desired sub-resource folder
IFile iFile = input.getFile();
if (canHandleFile(iFile)) {
@@ -67,37 +65,13 @@ public class OtherXmlEditorDelegate extends XmlEditorDelegate {
@Deprecated
public static final String OLD_STANDALONE_EDITOR_ID = AdtConstants.EDITORS_NAMESPACE + ".xml.XmlEditor"; //$NON-NLS-1$
- /** Root node of the UI element hierarchy */
- private UiDocumentNode mUiRootNode;
-
- private final AndroidXmlCommonEditor mDelegator;
-
/**
* Creates the form editor for resources XML files.
*/
- public OtherXmlEditorDelegate(AndroidXmlCommonEditor delegator) {
- super();
- mDelegator = delegator;
- }
-
- @Override
- public AndroidXmlCommonEditor getEditor() {
- return mDelegator;
+ public OtherXmlEditorDelegate(AndroidXmlCommonEditor editor) {
+ super(editor);
}
- @Override
- public void dispose() {
- // pass
- }
-
- /**
- * Returns the root node of the UI element hierarchy, which here
- * is the document node.
- */
- @Override
- public UiDocumentNode getUiRootNode() {
- return mUiRootNode;
- }
// ---- Static ----
@@ -161,19 +135,6 @@ public class OtherXmlEditorDelegate extends XmlEditorDelegate {
// ---- Base Class Overrides ----
/**
- * Returns whether the "save as" operation is supported by this editor.
- * <p/>
- * Save-As is a valid operation for the ManifestEditor since it acts on a
- * single source file.
- *
- * @see IEditorPart
- */
- @Override
- public boolean isSaveAsAllowed() {
- return true;
- }
-
- /**
* Create the various form pages.
*/
@Override
@@ -185,19 +146,6 @@ public class OtherXmlEditorDelegate extends XmlEditorDelegate {
}
}
-
- /* (non-java doc)
- * Change the tab/title name to include the project name.
- */
- @Override
- public void setInput(IEditorInput input) {
- if (input instanceof FileEditorInput) {
- FileEditorInput fileInput = (FileEditorInput) input;
- IFile file = fileInput.getFile();
- getEditor().setPartName(String.format("%1$s", file.getName()));
- }
- }
-
/**
* Processes the new XML Model, which XML root node is given.
*
@@ -208,7 +156,7 @@ public class OtherXmlEditorDelegate extends XmlEditorDelegate {
// init the ui root on demand
initUiRootNode(false /*force*/);
- mUiRootNode.loadFromXmlNode(xml_doc);
+ getUiRootNode().loadFromXmlNode(xml_doc);
}
/**
@@ -218,10 +166,10 @@ public class OtherXmlEditorDelegate extends XmlEditorDelegate {
@Override
public void initUiRootNode(boolean force) {
// The root UI node is always created, even if there's no corresponding XML node.
- if (mUiRootNode == null || force) {
+ if (getUiRootNode() == null || force) {
Document doc = null;
- if (mUiRootNode != null) {
- doc = mUiRootNode.getXmlDocument();
+ if (getUiRootNode() != null) {
+ doc = getUiRootNode().getXmlDocument();
}
// get the target data from the opened file (and its project)
@@ -234,8 +182,8 @@ public class OtherXmlEditorDelegate extends XmlEditorDelegate {
desc = data.getXmlDescriptors().getDescriptor();
}
- mUiRootNode = (UiDocumentNode) desc.createUiNode();
- mUiRootNode.setEditor(getEditor());
+ setUiRootNode(desc.createUiNode());
+ getUiRootNode().setEditor(getEditor());
onDescriptorsChanged(doc);
}
@@ -248,9 +196,9 @@ public class OtherXmlEditorDelegate extends XmlEditorDelegate {
*/
private void onDescriptorsChanged(Document document) {
if (document != null) {
- mUiRootNode.loadFromXmlNode(document);
+ getUiRootNode().loadFromXmlNode(document);
} else {
- mUiRootNode.reloadFromXmlNode(mUiRootNode.getXmlNode());
+ getUiRootNode().reloadFromXmlNode(getUiRootNode().getXmlNode());
}
}
}