Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLakshminarayana Nekkanti2019-08-06 08:35:31 +0000
committerLakshminarayana Nekkanti2019-08-06 16:37:20 +0000
commit6e643fe1579edcd7f13e2828367b98dc5ca77abe (patch)
tree53d3ece528eff15597414a023a3f5593a5bccd19
parentbae8912c8c38a3460d79760c031d2f169a19dd7d (diff)
downloadeclipse.platform.text-6e643fe1579edcd7f13e2828367b98dc5ca77abe.tar.gz
eclipse.platform.text-6e643fe1579edcd7f13e2828367b98dc5ca77abe.tar.xz
eclipse.platform.text-6e643fe1579edcd7f13e2828367b98dc5ca77abe.zip
Bug 549665 - [generic editor] Package Explorer should supportY20190808-0900I20190807-1800I20190806-1800
content-type specific icons for generic editor Change-Id: Iaa9702e4503183981d64b2b4553b01178818ceb8 Signed-off-by: Lakshminarayana Nekkanti <narayana.nekkanti@gmail.com>
-rw-r--r--org.eclipse.ui.genericeditor/plugin.xml2
-rw-r--r--org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextEditor.java1
-rw-r--r--org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java2
-rw-r--r--org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorWithContentTypeIcon.java (renamed from org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorDescriptor.java)9
-rw-r--r--org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorWithIconAssociationOverride.java (renamed from org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorAssociationOverride.java)28
5 files changed, 28 insertions, 14 deletions
diff --git a/org.eclipse.ui.genericeditor/plugin.xml b/org.eclipse.ui.genericeditor/plugin.xml
index 059fdff6473..9d01b2e0dad 100644
--- a/org.eclipse.ui.genericeditor/plugin.xml
+++ b/org.eclipse.ui.genericeditor/plugin.xml
@@ -227,7 +227,7 @@
<extension
point="org.eclipse.ui.ide.editorAssociationOverride">
<editorAssociationOverride
- class="org.eclipse.ui.internal.genericeditor.GenericEditorAssociationOverride"
+ class="org.eclipse.ui.internal.genericeditor.GenericEditorWithIconAssociationOverride"
id="org.eclipse.ui.internal.genericeditor.GenericEditorAssociationOverride"/>
</extension>
</plugin>
diff --git a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextEditor.java b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextEditor.java
index d92078fd0fb..3de682896bb 100644
--- a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextEditor.java
+++ b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextEditor.java
@@ -44,6 +44,7 @@ import org.eclipse.ui.texteditor.SourceViewerDecorationSupport;
public class ExtensionBasedTextEditor extends TextEditor {
private static final String CONTEXT_ID = "org.eclipse.ui.genericeditor.genericEditorContext"; //$NON-NLS-1$
+ public static final String GENERIC_EDITOR_ID = "org.eclipse.ui.genericeditor.GenericEditor"; //$NON-NLS-1$
private static final String MATCHING_BRACKETS = GenericEditorPreferenceConstants.EDITOR_MATCHING_BRACKETS;
private static final String MATCHING_BRACKETS_COLOR = GenericEditorPreferenceConstants.EDITOR_MATCHING_BRACKETS_COLOR;
diff --git a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java
index 027690dd961..c3a77d760c1 100644
--- a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java
+++ b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/ExtensionBasedTextViewerConfiguration.java
@@ -233,7 +233,7 @@ public final class ExtensionBasedTextViewerConfiguration extends TextSourceViewe
@Override protected Map<String, IAdaptable> getHyperlinkDetectorTargets(ISourceViewer sourceViewer) {
Map<String, IAdaptable> targets = super.getHyperlinkDetectorTargets(sourceViewer);
- targets.put("org.eclipse.ui.genericeditor.GenericEditor", editor); //$NON-NLS-1$
+ targets.put(ExtensionBasedTextEditor.GENERIC_EDITOR_ID, editor);
return targets;
}
}
diff --git a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorDescriptor.java b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorWithContentTypeIcon.java
index 39942aa495e..cdf7f5a0e20 100644
--- a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorDescriptor.java
+++ b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorWithContentTypeIcon.java
@@ -20,11 +20,16 @@ import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.ui.IEditorDescriptor;
import org.eclipse.ui.IEditorMatchingStrategy;
-public class GenericEditorDescriptor implements IEditorDescriptor {
+/**
+ * Overrides the default generic editor icon with the content-type specific
+ * icons contributed using the extension point
+ * "org.eclipse.ui.genericeditor.icons".
+ */
+public class GenericEditorWithContentTypeIcon implements IEditorDescriptor {
private IEditorDescriptor editorDescriptor;
private String fileName;
- public GenericEditorDescriptor(String fileName, IEditorDescriptor editorDescriptor) {
+ public GenericEditorWithContentTypeIcon(String fileName, IEditorDescriptor editorDescriptor) {
Assert.isNotNull(editorDescriptor);
this.fileName = fileName;
this.editorDescriptor = editorDescriptor;
diff --git a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorAssociationOverride.java b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorWithIconAssociationOverride.java
index ab275f14da4..4a3d7ccc017 100644
--- a/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorAssociationOverride.java
+++ b/org.eclipse.ui.genericeditor/src/org/eclipse/ui/internal/genericeditor/GenericEditorWithIconAssociationOverride.java
@@ -21,28 +21,36 @@ import org.eclipse.ui.IEditorDescriptor;
import org.eclipse.ui.IEditorInput;
import org.eclipse.ui.ide.IEditorAssociationOverride;
-public class GenericEditorAssociationOverride implements IEditorAssociationOverride {
+/**
+ * Overrides all the default generic editor icon with the content-type specific
+ * icons contributed using the extension point
+ * "org.eclipse.ui.genericeditor.icons".Content provides uses the overridden
+ * icons to show in Project Explorer
+ */
+public class GenericEditorWithIconAssociationOverride implements IEditorAssociationOverride {
private Map<String, IEditorDescriptor> descriptorMap = new HashMap<String, IEditorDescriptor>();
@Override
public IEditorDescriptor[] overrideEditors(IEditorInput editorInput, IContentType contentType,
IEditorDescriptor[] editorDescriptors) {
- return overrideEditors(editorInput.getName(), contentType, editorDescriptors);
+ return editorInput != null ? overrideEditors(editorInput.getName(), contentType, editorDescriptors)
+ : editorDescriptors;
}
@Override
public IEditorDescriptor[] overrideEditors(String fileName, IContentType contentType,
IEditorDescriptor[] editorDescriptors) {
- return Arrays.stream(editorDescriptors).map(descripter -> {
- return getEditorDescriptorForFile(descripter, fileName);
+ return Arrays.stream(editorDescriptors).map(descriptor -> {
+ return getEditorDescriptorForFile(descriptor, fileName);
}).toArray(size -> new IEditorDescriptor[size]);
}
@Override
public IEditorDescriptor overrideDefaultEditor(IEditorInput editorInput, IContentType contentType,
IEditorDescriptor editorDescriptor) {
- return overrideDefaultEditor(editorInput.getName(), contentType, editorDescriptor);
+ return editorInput != null ? overrideDefaultEditor(editorInput.getName(), contentType, editorDescriptor)
+ : editorDescriptor;
}
@Override
@@ -51,14 +59,14 @@ public class GenericEditorAssociationOverride implements IEditorAssociationOverr
return getEditorDescriptorForFile(editorDescriptor, fileName);
}
- private IEditorDescriptor getEditorDescriptorForFile(IEditorDescriptor defaultDescripter, String fileName) {
- if (defaultDescripter != null
- && "org.eclipse.ui.genericeditor.GenericEditor".equals(defaultDescripter.getId())) { //$NON-NLS-1$
+ private IEditorDescriptor getEditorDescriptorForFile(IEditorDescriptor defaultDescriptor, String fileName) {
+ if (defaultDescriptor != null && ExtensionBasedTextEditor.GENERIC_EDITOR_ID.equals(defaultDescriptor.getId())
+ && fileName != null && !fileName.isEmpty()) {
if (!descriptorMap.containsKey(fileName)) {
- descriptorMap.put(fileName, new GenericEditorDescriptor(fileName, defaultDescripter));
+ descriptorMap.put(fileName, new GenericEditorWithContentTypeIcon(fileName, defaultDescriptor));
}
return descriptorMap.get(fileName);
}
- return defaultDescripter;
+ return defaultDescriptor;
}
}

Back to the top