Skip to main content
summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDarin Wright2003-02-10 21:01:21 +0000
committerDarin Wright2003-02-10 21:01:21 +0000
commitd75c154674bceaf11b8b1507dd2802fbd15b263d (patch)
treea59e83c225b444321bd0cd0b28cba3e89e7f7d42
parent969187ffbdce710790ab8cd55aa7671c04108f95 (diff)
downloadeclipse.platform.debug-d75c154674bceaf11b8b1507dd2802fbd15b263d.tar.gz
eclipse.platform.debug-d75c154674bceaf11b8b1507dd2802fbd15b263d.tar.xz
eclipse.platform.debug-d75c154674bceaf11b8b1507dd2802fbd15b263d.zip
bug 29815 - Ant artwork
-rw-r--r--org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/outline/PlantyContentOutlinePage.java24
-rw-r--r--org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/xml/IAntEditorConstants.java1
-rw-r--r--org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/launchConfigurations/AntTargetLabelProvider.java17
-rw-r--r--org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntTargetsLabelProvider.java50
-rw-r--r--org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntView.java2
-rw-r--r--org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntViewLabelProvider.java27
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/AntImageDescriptor.java125
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java33
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties1
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java1
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java85
-rw-r--r--org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/IExternalToolsUIConstants.java6
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/ant_buildfile.gifbin0 -> 181 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/ant_target.gifbin142 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/file_obj.gifbin152 -> 0 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/target_priv.gifbin0 -> 88 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/obj16/target_pub.gifbin0 -> 97 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/ovr16/error_co.gifbin0 -> 84 bytes
-rw-r--r--org.eclipse.ui.externaltools/icons/full/ovr16/run_co.gifbin0 -> 117 bytes
19 files changed, 302 insertions, 70 deletions
diff --git a/org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/outline/PlantyContentOutlinePage.java b/org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/outline/PlantyContentOutlinePage.java
index fe95eda45..762b35a17 100644
--- a/org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/outline/PlantyContentOutlinePage.java
+++ b/org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/outline/PlantyContentOutlinePage.java
@@ -38,6 +38,7 @@ import org.eclipse.jface.action.IMenuListener;
import org.eclipse.jface.action.IMenuManager;
import org.eclipse.jface.action.MenuManager;
import org.eclipse.jface.action.Separator;
+import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.jface.viewers.ITreeContentProvider;
@@ -55,6 +56,7 @@ import org.eclipse.ui.externaltools.internal.ant.editor.PlantyException;
import org.eclipse.ui.externaltools.internal.ant.editor.xml.IAntEditorConstants;
import org.eclipse.ui.externaltools.internal.ant.editor.xml.XmlAttribute;
import org.eclipse.ui.externaltools.internal.ant.editor.xml.XmlElement;
+import org.eclipse.ui.externaltools.internal.model.AntImageDescriptor;
import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
import org.eclipse.ui.externaltools.internal.model.ExternalToolsPlugin;
import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
@@ -175,22 +177,32 @@ public class PlantyContentOutlinePage extends ContentOutlinePage {
XmlElement projectNode= tempElement.getParentNode();
XmlAttribute attribute= projectNode.getAttributeNamed(IAntEditorConstants.ATTR_DEFAULT);
String defaultTarget= ""; //$NON-NLS-1$
+ ImageDescriptor base = null;
+ int flags = 0;
+
if (attribute != null) {
defaultTarget= attribute.getValue();
}
if (tempElement.getAttributeNamed(IAntEditorConstants.ATTR_NAME).getValue().equals(defaultTarget)) {
- //TODO:replace with default target icon when available Bug 29815
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMAGE_ID_TARGET);
+ flags = flags | AntImageDescriptor.DEFAULT_TARGET;
+ }
+ if (tempElement.isErrorNode()) {
+ flags = flags | AntImageDescriptor.HAS_ERRORS;
+ }
+ if (tempElement.getAttributeNamed(IAntEditorConstants.ATTR_DESCRIPTION) == null) {
+ base = ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_ANT_TARGET_PRIVATE);
} else {
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMAGE_ID_TARGET);
+ base = ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_ANT_TARGET);
}
+ return ExternalToolsImages.getImage(new AntImageDescriptor(base, flags));
}
if("project".equals(tempElement.getName())) { //$NON-NLS-1$
+ int flags = 0;
+ ImageDescriptor base = ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_ANT_PROJECT);
if (tempElement.isErrorNode()) {
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMG_ANT_PROJECT_ERROR);
- } else {
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMG_ANT_PROJECT);
+ flags = flags | AntImageDescriptor.HAS_ERRORS;
}
+ return ExternalToolsImages.getImage(new AntImageDescriptor(base, flags));
}
if (tempElement.isErrorNode()) {
diff --git a/org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/xml/IAntEditorConstants.java b/org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/xml/IAntEditorConstants.java
index d111eed6a..a60aef9c2 100644
--- a/org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/xml/IAntEditorConstants.java
+++ b/org.eclipse.ui.externaltools/Ant Editor/org/eclipse/ui/externaltools/internal/ant/editor/xml/IAntEditorConstants.java
@@ -21,6 +21,7 @@ public interface IAntEditorConstants {
public static final String ATTR_COMMAND= "command"; //$NON-NLS-1$
public static final String ATTR_EXECUTABLE= "executable"; //$NON-NLS-1$
public static final String ATTR_TYPE= "type"; //$NON-NLS-1$
+ public static final String ATTR_DESCRIPTION= "description"; //$NON-NLS-1$
/**
* Values of the type attribute stored in XmlElements
*/
diff --git a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/launchConfigurations/AntTargetLabelProvider.java b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/launchConfigurations/AntTargetLabelProvider.java
index b71c41a12..5a2f29c27 100644
--- a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/launchConfigurations/AntTargetLabelProvider.java
+++ b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/launchConfigurations/AntTargetLabelProvider.java
@@ -10,11 +10,13 @@ http://www.eclipse.org/legal/cpl-v05.html
Contributors:
**********************************************************************/
import org.eclipse.ant.core.TargetInfo;
+import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.LabelProvider;
import org.eclipse.jface.viewers.TableViewer;
import org.eclipse.swt.graphics.Image;
+import org.eclipse.ui.externaltools.internal.model.AntImageDescriptor;
import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
-import org.eclipse.ui.externaltools.internal.model.IExternalToolConstants;
+import org.eclipse.ui.externaltools.internal.ui.IExternalToolsUIConstants;
/**
* Ant target label provider
@@ -49,7 +51,18 @@ public class AntTargetLabelProvider extends LabelProvider {
*/
public Image getImage(Object element) {
if (viewer == null || viewer.getControl().isEnabled()) {
- return ExternalToolsImages.getImage(IExternalToolConstants.IMG_TAB_ANT_TARGETS);
+ TargetInfo target = (TargetInfo)element;
+ ImageDescriptor base = null;
+ int flags = 0;
+ if (target.isDefault()) {
+ flags = flags | AntImageDescriptor.DEFAULT_TARGET;
+ }
+ if (target.getDescription() == null) {
+ base = ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_ANT_TARGET_PRIVATE);
+ } else {
+ base = ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_ANT_TARGET);
+ }
+ return ExternalToolsImages.getImage(new AntImageDescriptor(base, flags));
}
return null;
}
diff --git a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntTargetsLabelProvider.java b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntTargetsLabelProvider.java
deleted file mode 100644
index c44823409..000000000
--- a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntTargetsLabelProvider.java
+++ /dev/null
@@ -1,50 +0,0 @@
-package org.eclipse.ui.externaltools.internal.ant.view;
-/**********************************************************************
-Copyright (c) 2000, 2002 IBM Corp. All rights reserved.
-This file is made available under the terms of the Common Public License v1.0
-which accompanies this distribution, and is available at
-http://www.eclipse.org/legal/cpl-v10.html
-**********************************************************************/
-import org.eclipse.jface.viewers.ILabelProvider;
-import org.eclipse.jface.viewers.ILabelProviderListener;
-import org.eclipse.swt.graphics.Image;
-import org.eclipse.ui.externaltools.internal.ant.view.elements.TargetNode;
-import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
-import org.eclipse.ui.externaltools.internal.ui.IExternalToolsUIConstants;
-
-public class AntTargetsLabelProvider implements ILabelProvider {
-
- public Image getImage(Object element) {
- if (element instanceof TargetNode) {
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMG_ANT_TARGET);
- }
- return null;
- }
-
- public String getText(Object element) {
- if (element instanceof TargetNode) {
- TargetNode node= (TargetNode) element;
- StringBuffer buffer= new StringBuffer(node.getName());
- if (node.equals(node.getProject().getDefaultTarget())) {
- buffer.append(AntViewMessages.getString("TargetNode.default")); //$NON-NLS-1$
- }
- buffer.append(" [").append(node.getProject().getName()).append(']'); //$NON-NLS-1$
- return buffer.toString();
- }
- return element.toString();
- }
-
- public void addListener(ILabelProviderListener listener) {
- }
-
- public void dispose() {
- }
-
- public boolean isLabelProperty(Object element, String property) {
- return false;
- }
-
- public void removeListener(ILabelProviderListener listener) {
- }
-
-}
diff --git a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntView.java b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntView.java
index 982fb12f5..1a1d5a3c0 100644
--- a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntView.java
+++ b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntView.java
@@ -417,7 +417,7 @@ public class AntView extends ViewPart implements IResourceChangeListener {
targetContentProvider.addTarget((TargetNode) targets.next());
}
}
- targetViewer.setLabelProvider(new AntTargetsLabelProvider());
+ targetViewer.setLabelProvider(new AntViewLabelProvider());
// The content provider doesn't use the input, but it input has to be set to something.
targetViewer.setInput(ResourcesPlugin.getWorkspace());
targetViewer.addSelectionChangedListener(new ISelectionChangedListener() {
diff --git a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntViewLabelProvider.java b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntViewLabelProvider.java
index 2ff4453ea..c92a486cc 100644
--- a/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntViewLabelProvider.java
+++ b/org.eclipse.ui.externaltools/Ant Tools Support/org/eclipse/ui/externaltools/internal/ant/view/AntViewLabelProvider.java
@@ -7,11 +7,14 @@ which accompanies this distribution, and is available at
http://www.eclipse.org/legal/cpl-v10.html
**********************************************************************/
+import org.eclipse.jface.resource.CompositeImageDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.viewers.ILabelProvider;
import org.eclipse.jface.viewers.ILabelProviderListener;
import org.eclipse.swt.graphics.Image;
import org.eclipse.ui.externaltools.internal.ant.view.elements.ProjectNode;
import org.eclipse.ui.externaltools.internal.ant.view.elements.TargetNode;
+import org.eclipse.ui.externaltools.internal.model.AntImageDescriptor;
import org.eclipse.ui.externaltools.internal.model.ExternalToolsImages;
import org.eclipse.ui.externaltools.internal.ui.IExternalToolsUIConstants;
@@ -27,20 +30,28 @@ public class AntViewLabelProvider implements ILabelProvider {
public Image getImage(Object element) {
if (element instanceof ProjectNode) {
ProjectNode project= (ProjectNode) element;
+ int flags = 0;
if (project.isErrorNode()) {
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMG_ANT_PROJECT_ERROR);
- } else {
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMG_ANT_PROJECT);
+ flags = flags | AntImageDescriptor.HAS_ERRORS;
}
+ CompositeImageDescriptor descriptor = new AntImageDescriptor(ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_ANT_PROJECT), flags);
+ return ExternalToolsImages.getImage(descriptor);
} else if (element instanceof TargetNode) {
TargetNode target= (TargetNode) element;
- if (target.isErrorNode()) {
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMG_ANT_TARGET_ERROR);
- } else if (target.equals(target.getProject().getDefaultTarget())){
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMG_ANT_DEFAULT_TARGET);
+ int flags = 0;
+ ImageDescriptor base = null;
+ if (target.getDescription() == null) {
+ base = ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_ANT_TARGET_PRIVATE);
} else {
- return ExternalToolsImages.getImage(IExternalToolsUIConstants.IMG_ANT_TARGET);
+ base = ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_ANT_TARGET);
+ }
+ if (target.isErrorNode()) {
+ flags = flags | AntImageDescriptor.HAS_ERRORS;
+ }
+ if (target.equals(target.getProject().getDefaultTarget())){
+ flags = flags | AntImageDescriptor.DEFAULT_TARGET;
}
+ return ExternalToolsImages.getImage(new AntImageDescriptor(base, flags));
}
return null;
}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/AntImageDescriptor.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/AntImageDescriptor.java
new file mode 100644
index 000000000..8c5f17293
--- /dev/null
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/AntImageDescriptor.java
@@ -0,0 +1,125 @@
+package org.eclipse.ui.externaltools.internal.model;
+
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+
+import org.eclipse.jface.resource.CompositeImageDescriptor;
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.swt.graphics.ImageData;
+import org.eclipse.swt.graphics.Point;
+import org.eclipse.ui.externaltools.internal.ui.IExternalToolsUIConstants;
+
+/**
+ * A JDIImageDescriptor consists of a main icon and several adornments. The adornments
+ * are computed according to flags set on creation of the descriptor.
+ */
+public class AntImageDescriptor extends CompositeImageDescriptor {
+
+ /** Flag to render the default target adornment */
+ public final static int DEFAULT_TARGET= 0x0001;
+ /** Flag to render the may be out of synch adornment */
+ public final static int HAS_ERRORS= 0x0002;
+
+ private ImageDescriptor fBaseImage;
+ private int fFlags;
+ private Point fSize;
+
+ /**
+ * Create a new JDIImageDescriptor.
+ *
+ * @param baseImage an image descriptor used as the base image
+ * @param flags flags indicating which adornments are to be rendered
+ *
+ */
+ public AntImageDescriptor(ImageDescriptor baseImage, int flags) {
+ setBaseImage(baseImage);
+ setFlags(flags);
+ }
+
+ /**
+ * @see CompositeImageDescriptor#getSize()
+ */
+ protected Point getSize() {
+ if (fSize == null) {
+ ImageData data= getBaseImage().getImageData();
+ setSize(new Point(data.width, data.height));
+ }
+ return fSize;
+ }
+
+ /**
+ * @see Object#equals(java.lang.Object)
+ */
+ public boolean equals(Object object) {
+ if (!(object instanceof AntImageDescriptor)){
+ return false;
+ }
+
+ AntImageDescriptor other= (AntImageDescriptor)object;
+ return (getBaseImage().equals(other.getBaseImage()) && getFlags() == other.getFlags());
+ }
+
+ /**
+ * @see Object#hashCode()
+ */
+ public int hashCode() {
+ return getBaseImage().hashCode() | getFlags();
+ }
+
+ /**
+ * @see CompositeImageDescriptor#drawCompositeImage(int, int)
+ */
+ protected void drawCompositeImage(int width, int height) {
+ ImageData bg= getBaseImage().getImageData();
+ if (bg == null) {
+ bg= DEFAULT_IMAGE_DATA;
+ }
+ drawImage(bg, 0, 0);
+ drawOverlays();
+ }
+
+ /**
+ * Add any overlays to the image as specified in the flags.
+ */
+ protected void drawOverlays() {
+ int flags= getFlags();
+ int x= 0;
+ int y= 0;
+ ImageData data= null;
+ if ((flags & HAS_ERRORS) != 0) {
+ x= getSize().x;
+ y= 0;
+ data= ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_OVR_ERROR).getImageData();
+ x -= data.width;
+ drawImage(data, x, y);
+ } else if ((flags & DEFAULT_TARGET) != 0) {
+ x= getSize().x;
+ y= 0;
+ data= ExternalToolsImages.getImageDescriptor(IExternalToolsUIConstants.IMG_OVR_DEFAULT).getImageData();;
+ x -= data.width;
+ drawImage(data, x, y);
+ }
+ }
+
+ protected ImageDescriptor getBaseImage() {
+ return fBaseImage;
+ }
+
+ protected void setBaseImage(ImageDescriptor baseImage) {
+ fBaseImage = baseImage;
+ }
+
+ protected int getFlags() {
+ return fFlags;
+ }
+
+ protected void setFlags(int flags) {
+ fFlags = flags;
+ }
+
+ protected void setSize(Point size) {
+ fSize = size;
+ }
+} \ No newline at end of file
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
index 24e21007a..28d1d011d 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsImages.java
@@ -15,6 +15,7 @@ import java.util.HashMap;
import java.util.Map;
import org.eclipse.jface.action.IAction;
+import org.eclipse.jface.resource.CompositeImageDescriptor;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
@@ -31,6 +32,11 @@ public class ExternalToolsImages {
private static ImageRegistry imageRegistry;
/**
+ * The registry for composite images
+ */
+ private static ImageDescriptorRegistry imageDescriptorRegistry;
+
+ /**
* A table of all the <code>ImageDescriptor</code>s.
*/
private static Map imageDescriptors;
@@ -79,9 +85,10 @@ public class ExternalToolsImages {
declareRegistryImage(IExternalToolsUIConstants.IMG_GO_TO_FILE, LOCALTOOL + "gotoobj_tsk.gif"); //$NON-NLS-1$
declareRegistryImage(IExternalToolsUIConstants.IMG_TOGGLE, LOCALTOOL + "toggle.gif"); //$NON-NLS-1$
// Ant View Labels
- declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_PROJECT, OBJECT + "file_obj.gif"); //$NON-NLS-1$
+ declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_PROJECT, OBJECT + "ant_buildfile.gif"); //$NON-NLS-1$
declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_PROJECT_ERROR, OBJECT + "ant_project_err.gif"); //$NON-NLS-1$
- declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_TARGET, OBJECT + "ant_target.gif"); //$NON-NLS-1$
+ declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_TARGET, OBJECT + "target_pub.gif"); //$NON-NLS-1$
+ declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_TARGET_PRIVATE, OBJECT + "target_priv.gif"); //$NON-NLS-1$
declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_DEFAULT_TARGET, OBJECT + "ant_default_target.gif"); //$NON-NLS-1$
declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_TARGET_ERROR, OBJECT + "ant_target_err.gif"); //$NON-NLS-1$
declareRegistryImage(IExternalToolsUIConstants.IMG_ANT_TARGET_ELEMENTS, OBJECT + "elements.gif"); //$NON-NLS-1$
@@ -98,6 +105,10 @@ public class ExternalToolsImages {
declareRegistryImage(IExternalToolConstants.IMG_PROPERTY, OBJECT + "prop_ps.gif"); //$NON-NLS-1$
//ANT object
declareRegistryImage(IExternalToolConstants.IMG_TAB_ANT_TARGETS, LOCALTOOL + "ant_tsk_check.gif"); //$NON-NLS-1$
+
+ // Overlays
+ declareRegistryImage(IExternalToolsUIConstants.IMG_OVR_DEFAULT, OVR + "run_co.gif"); //$NON-NLS-1$
+ declareRegistryImage(IExternalToolsUIConstants.IMG_OVR_ERROR, OVR + "error_co.gif"); //$NON-NLS-1$
}
/**
@@ -235,7 +246,23 @@ public class ExternalToolsImages {
ExternalToolsPlugin.getDefault().log(e);
return ImageDescriptor.getMissingImageDescriptor();
}
- }
+ }
+
+ /**
+ * Returns the image for the given composite descriptor.
+ */
+ public static Image getImage(CompositeImageDescriptor imageDescriptor) {
+ if (imageDescriptorRegistry == null) {
+ imageDescriptorRegistry = new ImageDescriptorRegistry();
+ }
+ return imageDescriptorRegistry.get(imageDescriptor);
+ }
+
+ public static void disposeImageDescriptorRegistry() {
+ if (imageDescriptorRegistry != null) {
+ imageDescriptorRegistry.dispose();
+ }
+ }
}
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
index 2a7654668..27cd4a545 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsModelMessages.properties
@@ -18,3 +18,4 @@ ToolUtil.argumentVarExpandFailed = The variable named ''{0}'' for the arguments
ExternalToolVariable.componentErrorMessage = Problem displaying UI component of selected variable.
ToolUtil.No_expansion=The variable {0} with argument {1} could not be expanded to a valid path.
+ImageDescriptorRegistry.Allocating_image_for_wrong_display_1=Allocating image for wrong display
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
index 00dda64a4..6faba2270 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ExternalToolsPlugin.java
@@ -209,6 +209,7 @@ public final class ExternalToolsPlugin extends AbstractUIPlugin {
public void shutdown() throws CoreException {
super.shutdown();
ColorManager.getDefault().dispose();
+ ExternalToolsImages.disposeImageDescriptorRegistry();
}
/**
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
new file mode 100644
index 000000000..8262cc10b
--- /dev/null
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/model/ImageDescriptorRegistry.java
@@ -0,0 +1,85 @@
+package org.eclipse.ui.externaltools.internal.model;
+
+/*
+ * (c) Copyright IBM Corp. 2000, 2001.
+ * All Rights Reserved.
+ */
+
+import java.util.HashMap;
+import java.util.Iterator;
+
+import org.eclipse.jface.resource.ImageDescriptor;
+import org.eclipse.jface.util.Assert;
+import org.eclipse.swt.graphics.Image;
+import org.eclipse.swt.widgets.Display;
+
+/**
+ * A registry that maps <code>ImageDescriptors</code> to <code>Image</code>.
+ */
+public class ImageDescriptorRegistry {
+
+ private HashMap fRegistry= new HashMap(10);
+ private Display fDisplay;
+
+ /**
+ * Creates a new image descriptor registry for the current or default display,
+ * respectively.
+ */
+ public ImageDescriptorRegistry() {
+ this(ExternalToolsPlugin.getStandardDisplay());
+ }
+
+ /**
+ * Creates a new image descriptor registry for the given display. All images
+ * managed by this registry will be disposed when the display gets disposed.
+ *
+ * @param diaplay the display the images managed by this registry are allocated for
+ */
+ public ImageDescriptorRegistry(Display display) {
+ fDisplay= display;
+ Assert.isNotNull(fDisplay);
+ hookDisplay();
+ }
+
+ /**
+ * Returns the image associated with the given image descriptor.
+ *
+ * @param descriptor the image descriptor for which the registry manages an image
+ * @return the image associated with the image descriptor or <code>null</code>
+ * if the image descriptor can't create the requested image.
+ */
+ public Image get(ImageDescriptor descriptor) {
+ if (descriptor == null)
+ descriptor= ImageDescriptor.getMissingImageDescriptor();
+
+ Image result= (Image)fRegistry.get(descriptor);
+ if (result != null)
+ return result;
+
+ Assert.isTrue(fDisplay == ExternalToolsPlugin.getStandardDisplay(), ExternalToolsModelMessages.getString("ImageDescriptorRegistry.Allocating_image_for_wrong_display_1")); //$NON-NLS-1$
+ result= descriptor.createImage();
+ if (result != null)
+ fRegistry.put(descriptor, result);
+ return result;
+ }
+
+ /**
+ * Disposes all images managed by this registry.
+ */
+ public void dispose() {
+ for (Iterator iter= fRegistry.values().iterator(); iter.hasNext(); ) {
+ Image image= (Image)iter.next();
+ image.dispose();
+ }
+ fRegistry.clear();
+ }
+
+ private void hookDisplay() {
+ fDisplay.disposeExec(new Runnable() {
+ public void run() {
+ dispose();
+ }
+ });
+ }
+}
+
diff --git a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/IExternalToolsUIConstants.java b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/IExternalToolsUIConstants.java
index ef1f26fea..6b73fb14f 100644
--- a/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/IExternalToolsUIConstants.java
+++ b/org.eclipse.ui.externaltools/External Tools Base/org/eclipse/ui/externaltools/internal/ui/IExternalToolsUIConstants.java
@@ -42,10 +42,16 @@ public interface IExternalToolsUIConstants {
public static final String IMG_ANT_PROJECT= IExternalToolConstants.PLUGIN_ID + ".antProject"; //$NON-NLS-1$
public static final String IMG_ANT_PROJECT_ERROR = IExternalToolConstants.PLUGIN_ID + ".antProjectError"; //$NON-NLS-1$
public static final String IMG_ANT_TARGET= IExternalToolConstants.PLUGIN_ID + ".antTarget"; //$NON-NLS-1$
+ public static final String IMG_ANT_TARGET_PRIVATE = IExternalToolConstants.PLUGIN_ID + ".antPrivateTarget"; //$NON-NLS-1$
public static final String IMG_ANT_DEFAULT_TARGET= IExternalToolConstants.PLUGIN_ID + ".antDefaultTarget"; //$NON-NLS-1$
public static final String IMG_ANT_TARGET_ERROR = IExternalToolConstants.PLUGIN_ID + ".antTargetError"; //$NON-NLS-1$
public static final String IMG_ANT_TARGET_ELEMENTS= IExternalToolConstants.PLUGIN_ID + ".antTargetElements"; //$NON-NLS-1$
public static final String IMG_ANT_TARGET_ELEMENT= IExternalToolConstants.PLUGIN_ID + ".antTargetElement"; //$NON-NLS-1$
+
+ // Overlays
+ public static final String IMG_OVR_DEFAULT = IExternalToolConstants.PLUGIN_ID + ".ovrDefault"; //$NON-NLS-1$
+ public static final String IMG_OVR_ERROR = IExternalToolConstants.PLUGIN_ID + ".ovrError"; //$NON-NLS-1$
+
public static final String DIALOGSTORE_LASTEXTJAR= IExternalToolConstants.PLUGIN_ID + ".lastextjar"; //$NON-NLS-1$
public static final String DIALOGSTORE_LASTEXTFILE= IExternalToolConstants.PLUGIN_ID + ".lastextfile"; //$NON-NLS-1$
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/ant_buildfile.gif b/org.eclipse.ui.externaltools/icons/full/obj16/ant_buildfile.gif
new file mode 100644
index 000000000..1aa3ae048
--- /dev/null
+++ b/org.eclipse.ui.externaltools/icons/full/obj16/ant_buildfile.gif
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/ant_target.gif b/org.eclipse.ui.externaltools/icons/full/obj16/ant_target.gif
deleted file mode 100644
index 2eeebb43d..000000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/ant_target.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/file_obj.gif b/org.eclipse.ui.externaltools/icons/full/obj16/file_obj.gif
deleted file mode 100644
index 6b86d0797..000000000
--- a/org.eclipse.ui.externaltools/icons/full/obj16/file_obj.gif
+++ /dev/null
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/target_priv.gif b/org.eclipse.ui.externaltools/icons/full/obj16/target_priv.gif
new file mode 100644
index 000000000..0e2924267
--- /dev/null
+++ b/org.eclipse.ui.externaltools/icons/full/obj16/target_priv.gif
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/obj16/target_pub.gif b/org.eclipse.ui.externaltools/icons/full/obj16/target_pub.gif
new file mode 100644
index 000000000..b5129152c
--- /dev/null
+++ b/org.eclipse.ui.externaltools/icons/full/obj16/target_pub.gif
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/ovr16/error_co.gif b/org.eclipse.ui.externaltools/icons/full/ovr16/error_co.gif
new file mode 100644
index 000000000..8612eaff5
--- /dev/null
+++ b/org.eclipse.ui.externaltools/icons/full/ovr16/error_co.gif
Binary files differ
diff --git a/org.eclipse.ui.externaltools/icons/full/ovr16/run_co.gif b/org.eclipse.ui.externaltools/icons/full/ovr16/run_co.gif
new file mode 100644
index 000000000..e179837a0
--- /dev/null
+++ b/org.eclipse.ui.externaltools/icons/full/ovr16/run_co.gif
Binary files differ

Back to the top