aboutsummaryrefslogtreecommitdiff
path: root/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonSourceViewerConfig.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/CommonSourceViewerConfig.java')
-rwxr-xr-xeclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonSourceViewerConfig.java66
1 files changed, 66 insertions, 0 deletions
diff --git a/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonSourceViewerConfig.java b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonSourceViewerConfig.java
new file mode 100755
index 000000000..be31040c3
--- /dev/null
+++ b/eclipse/plugins/com.android.ide.eclipse.adt/src/com/android/ide/eclipse/adt/internal/editors/common/CommonSourceViewerConfig.java
@@ -0,0 +1,66 @@
+/*
+ * 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.ide.eclipse.adt.internal.editors.AndroidSourceViewerConfig;
+
+import org.eclipse.jface.text.contentassist.IContentAssistProcessor;
+import org.eclipse.jface.text.source.ISourceViewer;
+
+
+
+/**
+ * Source Viewer Configuration for the Common XML editor.
+ * Everything is already generic and done in the base class.
+ * The base class will use the delegate to find out the proper content assist to use.
+ */
+public final class CommonSourceViewerConfig extends AndroidSourceViewerConfig {
+
+ private final IContentAssistProcessor mContentAssist;
+
+ public CommonSourceViewerConfig() {
+ super();
+ mContentAssist = null;
+ }
+
+ public CommonSourceViewerConfig(IContentAssistProcessor contentAssist) {
+ super();
+ mContentAssist = contentAssist;
+ }
+
+
+ /**
+ * @return The {@link IContentAssistProcessor} passed to the constructor or null.
+ */
+ @Override
+ public IContentAssistProcessor getAndroidContentAssistProcessor(
+ ISourceViewer sourceViewer,
+ String partitionType) {
+ // You may think you could use AndroidXmlEditor.fromTextViewer(sourceViewer)
+ // to find the editor associated with the sourceViewer and then access the
+ // delegate and query the content assist specific to a given delegate.
+ // Unfortunately this is invoked whilst the editor part is being created
+ // so we can't match an existing editor to the source view -- since there
+ // is no such "existing" editor. It's just being created.
+ //
+ // As a workaround, CommonXmlEditor#addPages() will unconfigure the
+ // default sourceViewerConfig and reconfigure it with one that really
+ // knows which content assist it should be using.
+
+ return mContentAssist;
+ }
+}