diff options
Diffstat (limited to 'plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/SharedIcons.java')
-rw-r--r-- | plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/SharedIcons.java | 106 |
1 files changed, 106 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/SharedIcons.java b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/SharedIcons.java new file mode 100644 index 0000000000..97042177c6 --- /dev/null +++ b/plugins/org.eclipse.net4j.util.ui/src/org/eclipse/net4j/util/internal/ui/SharedIcons.java @@ -0,0 +1,106 @@ +/*************************************************************************** + * Copyright (c) 2004-2007 Eike Stepper, Germany. + * All rights reserved. This program and the accompanying materials + * are made available under the terms of the Eclipse Public License v1.0 + * which accompanies this distribution, and is available at + * http://www.eclipse.org/legal/epl-v10.html + * + * Contributors: + * Eike Stepper - initial API and implementation + **************************************************************************/ +package org.eclipse.net4j.util.internal.ui; + +import org.eclipse.net4j.util.internal.ui.bundle.OM; + +import org.eclipse.jface.resource.ImageDescriptor; +import org.eclipse.jface.resource.ImageRegistry; +import org.eclipse.swt.graphics.Image; +import org.eclipse.swt.widgets.Display; +import org.eclipse.ui.plugin.AbstractUIPlugin; + +/** + * @author Eike Stepper + */ +public class SharedIcons +{ + private static final ImageRegistry REGISTRY = new ImageRegistry(getDisplay()); + + private static final String ETOOL = "etool16/"; + + private static final String OBJ = "obj16/"; + + private static final String VIEW = "view16/"; + + public static final String OBJ_ADAPTER = OBJ + "adapter"; + + public static final String OBJ_FACTORY = OBJ + "factory"; + + public static final String OBJ_FOLDER = OBJ + "folder"; + + public static final String OBJ_BEAN = OBJ + "javabean"; + + public static final String VIEW_CONTAINER = VIEW + "container"; + + public static final String ETOOL_ADD = ETOOL + "add"; + + public static final String ETOOL_DELETE = ETOOL + "delete"; + + public static final String ETOOL_REFRESH = ETOOL + "refresh"; + + public static Image getImage(String key) + { + key = mangleKey(key); + Image image = REGISTRY.get(key); + if (image == null) + { + createDescriptor(key); + image = REGISTRY.get(key); + } + + return image; + } + + public static ImageDescriptor getDescriptor(String key) + { + key = mangleKey(key); + ImageDescriptor descriptor = REGISTRY.getDescriptor(key); + if (descriptor == null) + { + descriptor = createDescriptor(key); + } + + return descriptor; + } + + private static ImageDescriptor createDescriptor(String key) + { + ImageDescriptor descriptor = AbstractUIPlugin.imageDescriptorFromPlugin(OM.BUNDLE_ID, key); + if (descriptor != null) + { + REGISTRY.put(key, descriptor); + } + + return descriptor; + } + + private static Display getDisplay() + { + Display display = Display.getCurrent(); + if (display == null) + { + display = Display.getDefault(); + } + + if (display == null) + { + throw new IllegalStateException("display == null"); + } + + return display; + } + + private static String mangleKey(String key) + { + return "icons/full/" + key + ".gif"; + } +} |