From eee5b2cb042fb90fd8bef20a20a826775a2c14f1 Mon Sep 17 00:00:00 2001 From: kradloff Date: Thu, 13 Feb 2003 20:38:46 +0000 Subject: Fixes bug 30449 --- .../org/eclipse/ui/internal/WorkingSet.java | 63 +++++++++++++++------- 1 file changed, 45 insertions(+), 18 deletions(-) (limited to 'bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java') diff --git a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java index 722fbfbe518..8bd70dc8626 100644 --- a/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java +++ b/bundles/org.eclipse.ui.workbench/Eclipse UI/org/eclipse/ui/internal/WorkingSet.java @@ -13,8 +13,11 @@ package org.eclipse.ui.internal; import java.util.*; import org.eclipse.core.runtime.IAdaptable; +import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.util.Assert; import org.eclipse.ui.*; +import org.eclipse.ui.internal.registry.WorkingSetDescriptor; +import org.eclipse.ui.internal.registry.WorkingSetRegistry; /** * A working set holds a number of IAdaptable elements. @@ -93,24 +96,6 @@ public class WorkingSet implements IAdaptable, IPersistableElement, IWorkingSet } return null; } - /** - * Implements IWorkingSet - * - * @see org.eclipse.ui.IWorkingSet#getName() - */ - public String getName() { - return name; - } - /** - * Implements IWorkingSet - * - * @see org.eclipse.ui.IWorkingSet#getId() - * @see org.eclipse.ui.dialogs.IWorkingSetPage - * @since 2.1 - */ - public String getId() { - return editPageId; - } /** * Implements IWorkingSet * @@ -142,6 +127,48 @@ public class WorkingSet implements IAdaptable, IPersistableElement, IWorkingSet public String getFactoryId() { return FACTORY_ID; } + /** + * Implements IWorkingSet + * + * @see org.eclipse.ui.IWorkingSet#getId() + * @see org.eclipse.ui.dialogs.IWorkingSetPage + * @since 2.1 + */ + public String getId() { + return editPageId; + } + /** + * Returns the working set icon. + * Currently, this is one of the icons specified in the extensions + * of the org.eclipse.ui.workingSets extension point. + * The extension is identified using the value returned by + * getId(). + * Returns null if no icon has been specified in the + * extension or if getId() returns null. + * + * @return the working set icon or null. + * @since 2.1 + */ + public ImageDescriptor getImage() { + WorkingSetRegistry registry = WorkbenchPlugin.getDefault().getWorkingSetRegistry(); + WorkingSetDescriptor descriptor = null; + + if (editPageId != null) { + descriptor = registry.getWorkingSetDescriptor(editPageId); + } + if (descriptor == null) { + return null; + } + return descriptor.getIcon(); + } + /** + * Implements IWorkingSet + * + * @see org.eclipse.ui.IWorkingSet#getName() + */ + public String getName() { + return name; + } /** * Returns the hash code. * -- cgit v1.2.3