aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java6
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlDelegate.java10
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlEditor.java10
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java8
-rw-r--r--eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestEditor.java2
5 files changed, 29 insertions, 7 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java
index 0873d37..6415110 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/AndroidXmlEditor.java
@@ -137,7 +137,7 @@ public abstract class AndroidXmlEditor extends FormEditor implements IResourceCh
* so the document listeners can use this flag to skip updating the model when edits
* are observed during a formatting operation
*/
- protected boolean mIgnoreXmlUpdate;
+ private boolean mIgnoreXmlUpdate;
/**
* Flag indicating we're inside {@link #wrapEditXmlModel(Runnable)}.
@@ -232,9 +232,7 @@ public abstract class AndroidXmlEditor extends FormEditor implements IResourceCh
*
* @param xml_doc The XML document, if available, or null if none exists.
*/
- protected void xmlModelChanged(Document xml_doc) {
- // pass
- }
+ abstract protected void xmlModelChanged(Document xml_doc);
/**
* Controls whether XML models are ignored or not.
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
index bcf9021..36e51e7 100755
--- 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
@@ -189,4 +189,14 @@ public abstract class CommonXmlDelegate {
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 supportsFormatOnGuiEdit() {
+ return false;
+ }
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlEditor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlEditor.java
index f23fa20..afc7403 100755
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlEditor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonXmlEditor.java
@@ -286,7 +286,6 @@ public class CommonXmlEditor extends AndroidXmlEditor implements IShowEditorInpu
if (mDelegate != null) {
mDelegate.xmlModelChanged(xml_doc);
}
- super.xmlModelChanged(xml_doc);
}
@Override
@@ -333,6 +332,7 @@ public class CommonXmlEditor extends AndroidXmlEditor implements IShowEditorInpu
}
}
+ /* Implements showEditorInput(...) in IShowEditorInput */
@Override
public void showEditorInput(IEditorInput editorInput) {
if (mDelegate instanceof LayoutEditorDelegate) {
@@ -340,6 +340,14 @@ public class CommonXmlEditor extends AndroidXmlEditor implements IShowEditorInpu
}
}
+ @Override
+ public boolean supportsFormatOnGuiEdit() {
+ if (mDelegate != null) {
+ return mDelegate.supportsFormatOnGuiEdit();
+ }
+ return super.supportsFormatOnGuiEdit();
+ }
+
// --------------------
// Base methods exposed so that XmlEditorDelegate can access them
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java
index ff77d09..cae0259 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/layout/LayoutEditorDelegate.java
@@ -183,6 +183,7 @@ public class LayoutEditorDelegate extends CommonXmlDelegate
super.dispose();
if (mGraphicalEditor != null) {
mGraphicalEditor.dispose();
+ mGraphicalEditor = null;
}
getEditor().getSite().getPage().removePartListener(this);
}
@@ -362,6 +363,13 @@ public class LayoutEditorDelegate extends CommonXmlDelegate
mGraphicalEditor.recomputeLayout();
}
+ /**
+ * Does this editor participate in the "format GUI editor changes" option?
+ *
+ * @return true since this editor supports automatically formatting XML
+ * affected by GUI changes
+ */
+ @Override
public boolean supportsFormatOnGuiEdit() {
return true;
}
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestEditor.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestEditor.java
index 92f4d45..e36d988 100644
--- a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestEditor.java
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/manifest/ManifestEditor.java
@@ -175,8 +175,6 @@ public final class ManifestEditor extends AndroidXmlEditor {
initUiRootNode(false /*force*/);
loadFromXml(xml_doc);
-
- super.xmlModelChanged(xml_doc);
}
private void loadFromXml(Document xmlDoc) {