Skip to main content
aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMartin Fluegge2010-11-13 16:06:27 +0000
committerMartin Fluegge2010-11-13 16:06:27 +0000
commit1de458e14d3cc89ef59052ba01175e7d20e03497 (patch)
tree36f0bb1eec63e9e6f1f42ebc3325353a3179fa4c /plugins/org.eclipse.net4j.ui.shared/src
parentfde61f3b0bb830b38e16fafa7a3f89e3e54d3235 (diff)
downloadcdo-1de458e14d3cc89ef59052ba01175e7d20e03497.tar.gz
cdo-1de458e14d3cc89ef59052ba01175e7d20e03497.tar.xz
cdo-1de458e14d3cc89ef59052ba01175e7d20e03497.zip
[329632] Create common access mechanism for SharedIcons
https://bugs.eclipse.org/bugs/show_bug.cgi?id=329632
Diffstat (limited to 'plugins/org.eclipse.net4j.ui.shared/src')
-rw-r--r--plugins/org.eclipse.net4j.ui.shared/src/org/eclipse/net4j/ui/internal/icons/SharedIcons.java147
-rw-r--r--plugins/org.eclipse.net4j.ui.shared/src/org/eclipse/net4j/ui/internal/icons/bundle/OM.java50
2 files changed, 197 insertions, 0 deletions
diff --git a/plugins/org.eclipse.net4j.ui.shared/src/org/eclipse/net4j/ui/internal/icons/SharedIcons.java b/plugins/org.eclipse.net4j.ui.shared/src/org/eclipse/net4j/ui/internal/icons/SharedIcons.java
new file mode 100644
index 0000000000..a56ca7be92
--- /dev/null
+++ b/plugins/org.eclipse.net4j.ui.shared/src/org/eclipse/net4j/ui/internal/icons/SharedIcons.java
@@ -0,0 +1,147 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * 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.ui.internal.icons;
+
+import org.eclipse.net4j.ui.internal.icons.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/"; //$NON-NLS-1$
+
+ private static final String OBJ = "obj16/"; //$NON-NLS-1$
+
+ public static final String OBJ_ACCEPTOR = OBJ + "acceptor"; //$NON-NLS-1$
+
+ public static final String OBJ_ADAPTER = OBJ + "adapter"; //$NON-NLS-1$
+
+ public static final String OBJ_CHANNEL = OBJ + "channel"; //$NON-NLS-1$
+
+ public static final String OBJ_CONNECTOR = OBJ + "connector"; //$NON-NLS-1$
+
+ public static final String OBJ_FACTORY = OBJ + "factory"; //$NON-NLS-1$
+
+ public static final String OBJ_FOLDER = OBJ + "folder"; //$NON-NLS-1$
+
+ public static final String ETOOL_ADD_ACCEPTOR = ETOOL + "add_acceptor"; //$NON-NLS-1$
+
+ public static final String ETOOL_ADD_CONNECTOR = ETOOL + "add_connector"; //$NON-NLS-1$
+
+ public static final String ETOOL_ADD = ETOOL + "add"; //$NON-NLS-1$
+
+ public static final String ETOOL_DELETE = ETOOL + "delete"; //$NON-NLS-1$
+
+ public static final String ETOOL_REFRESH = ETOOL + "refresh"; //$NON-NLS-1$
+
+ private static final String TOOL = "etool16/"; //$NON-NLS-1$
+
+ private static final String VIEW = "view16/"; //$NON-NLS-1$
+
+ public static final String OBJ_BEAN = OBJ + "javabean"; //$NON-NLS-1$
+
+ public static final String OBJ_ERROR = OBJ + "error"; //$NON-NLS-1$
+
+ public static final String OBJ_PENDING = OBJ + "pending"; //$NON-NLS-1$
+
+ public static final String VIEW_CONTAINER = VIEW + "container"; //$NON-NLS-1$
+
+ public static final String TOOL_ADD = TOOL + "add"; //$NON-NLS-1$
+
+ public static final String TOOL_DELETE = TOOL + "delete"; //$NON-NLS-1$
+
+ public static final String TOOL_REFRESH = TOOL + "refresh"; //$NON-NLS-1$
+
+ @SuppressWarnings("unused")
+ private static final String WIZBAN = "wizban/"; //$NON-NLS-1$
+
+ public static final String OBJ_COLLABORATION = OBJ + "collaboration"; //$NON-NLS-1$
+
+ public static final String OBJ_BUDDY = OBJ + "buddy"; //$NON-NLS-1$
+
+ public static final String OBJ_BUDDY_LONESOME = OBJ + "buddy_lonesome"; //$NON-NLS-1$
+
+ public static final String OBJ_BUDDY_AWAY = OBJ + "buddy_away"; //$NON-NLS-1$
+
+ public static final String OBJ_BUDDY_DO_NOT_DISTURB = OBJ + "buddy_do_not_disturb"; //$NON-NLS-1$
+
+ public static final String OBJ_CHAT = OBJ + "chat"; //$NON-NLS-1$
+
+ public static final String ETOOL_HORIZONTAL = ETOOL + "horizontal_layout"; //$NON-NLS-1$
+
+ public static final String ETOOL_VERTICAL = ETOOL + "vertical_layout"; //$NON-NLS-1$
+
+ 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"); //$NON-NLS-1$
+ }
+
+ return display;
+ }
+
+ private static String mangleKey(String key)
+ {
+ return "icons/full/" + key + ".gif"; //$NON-NLS-1$ //$NON-NLS-2$
+ }
+}
diff --git a/plugins/org.eclipse.net4j.ui.shared/src/org/eclipse/net4j/ui/internal/icons/bundle/OM.java b/plugins/org.eclipse.net4j.ui.shared/src/org/eclipse/net4j/ui/internal/icons/bundle/OM.java
new file mode 100644
index 0000000000..d98ae742f9
--- /dev/null
+++ b/plugins/org.eclipse.net4j.ui.shared/src/org/eclipse/net4j/ui/internal/icons/bundle/OM.java
@@ -0,0 +1,50 @@
+/**
+ * Copyright (c) 2004 - 2010 Eike Stepper (Berlin, Germany) and others.
+ * 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:
+ * Martin Fluegge - initial API and implementation
+ */
+package org.eclipse.net4j.ui.internal.icons.bundle;
+
+import org.eclipse.net4j.util.om.OMBundle;
+import org.eclipse.net4j.util.om.OMPlatform;
+import org.eclipse.net4j.util.om.OSGiActivator;
+import org.eclipse.net4j.util.om.log.OMLogger;
+import org.eclipse.net4j.util.om.pref.OMPreferences;
+import org.eclipse.net4j.util.om.trace.OMTracer;
+
+/**
+ * The <em>Operations & Maintenance</em> class of this bundle.
+ *
+ * @author Martin Fluegge
+ */
+public abstract class OM
+{
+ public static final String BUNDLE_ID = "org.eclipse.net4j.ui.shared"; //$NON-NLS-1$
+
+ public static final OMBundle BUNDLE = OMPlatform.INSTANCE.bundle(BUNDLE_ID, OM.class);
+
+ public static final OMTracer DEBUG = BUNDLE.tracer("debug"); //$NON-NLS-1$
+
+ public static final OMLogger LOG = BUNDLE.logger();
+
+ public static final OMPreferences PREFS = BUNDLE.preferences();
+
+ /**
+ * @author Eike Stepper
+ */
+ public static final class Activator extends OSGiActivator
+ {
+ public static Activator INSTANCE;
+
+ public Activator()
+ {
+ super(BUNDLE);
+ INSTANCE = this;
+ }
+ }
+}

Back to the top