Index: editor/tools/plugins/com.xored.glance.ui/src/com/xored/glance/internal/ui/GlancePlugin.java |
=================================================================== |
--- editor/tools/plugins/com.xored.glance.ui/src/com/xored/glance/internal/ui/GlancePlugin.java (revision 0) |
+++ editor/tools/plugins/com.xored.glance.ui/src/com/xored/glance/internal/ui/GlancePlugin.java (revision 0) |
@@ -0,0 +1,134 @@ |
+/******************************************************************************* |
+ * Copyright (c) 2012 xored software, Inc. 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: |
+ * xored software, Inc. - initial API and implementation (Yuri Strot) |
+ ******************************************************************************/ |
+package com.xored.glance.internal.ui; |
+ |
+import org.eclipse.core.runtime.FileLocator; |
+import org.eclipse.core.runtime.IStatus; |
+import org.eclipse.core.runtime.Path; |
+import org.eclipse.core.runtime.Status; |
+import org.eclipse.jface.resource.ImageDescriptor; |
+import org.eclipse.swt.graphics.Image; |
+import org.eclipse.ui.plugin.AbstractUIPlugin; |
+import org.osgi.framework.BundleContext; |
+ |
+import java.net.URL; |
+ |
+/** |
+ * The activator class controls the plug-in life cycle |
+ */ |
+public class GlancePlugin extends AbstractUIPlugin { |
+ |
+ // The plug-in ID |
+ public static final String PLUGIN_ID = "com.xored.glance.ui"; |
+ |
+ // IMAGES |
+ |
+ private static final String IMG_PREFIX = "icons/glance/"; |
+ |
+ public static final String IMG_WAIT = IMG_PREFIX + "wait.gif"; |
+ public static final String IMG_NEXT = IMG_PREFIX + "next.gif"; |
+ public static final String IMG_PREV = IMG_PREFIX + "prev.gif"; |
+ public static final String IMG_SEARCH = IMG_PREFIX + "search.png"; |
+ public static final String IMG_START_INDEXING = IMG_PREFIX + "update_1.gif"; |
+ public static final String IMG_END_INDEXING = IMG_PREFIX + "update_2.gif"; |
+ public static final String IMG_INDEXING_FINISHED = IMG_PREFIX + "update_done.gif"; |
+ public static final String[] IMG_INDEXING_LOOP = new String[] { |
+ IMG_START_INDEXING, IMG_END_INDEXING}; |
+ |
+ // The shared instance |
+ private static GlancePlugin plugin; |
+ |
+ public static IStatus createStatus(String message) { |
+ return createStatus(message, null); |
+ } |
+ |
+ public static IStatus createStatus(String message, Throwable t) { |
+ return new Status(Status.ERROR, PLUGIN_ID, message, t); |
+ } |
+ |
+ /** |
+ * Returns the shared instance |
+ * |
+ * @return the shared instance |
+ */ |
+ public static GlancePlugin getDefault() { |
+ return plugin; |
+ } |
+ |
+ public static Image getImage(String path) { |
+ Image image = getDefault().getImageRegistry().get(path); |
+ if (image == null) { |
+ ImageDescriptor imageDescriptor = getImageDescriptor(path, false); |
+ image = imageDescriptor.createImage(); |
+ getDefault().getImageRegistry().put(path, image); |
+ } |
+ return image; |
+ } |
+ |
+ public static ImageDescriptor getImageDescriptor(String path) { |
+ return getImageDescriptor(path, true); |
+ } |
+ |
+ public static void log(IStatus status) { |
+ getDefault().getLog().log(status); |
+ } |
+ |
+ public static void log(String message) { |
+ log(message, null); |
+ } |
+ |
+ public static void log(String message, Throwable t) { |
+ log(createStatus(message, t)); |
+ } |
+ |
+ public static void log(Throwable t) { |
+ log(t.getMessage(), t); |
+ } |
+ |
+ private static ImageDescriptor getImageDescriptor(String path, boolean addToRegistry) { |
+ ImageDescriptor imageDescriptor = getDefault().getImageRegistry().getDescriptor(path); |
+ if (imageDescriptor == null) { |
+ imageDescriptor = ImageDescriptor.createFromURL(makeImageURL(path)); |
+ if (addToRegistry) { |
+ getDefault().getImageRegistry().put(path, imageDescriptor); |
+ } |
+ } |
+ return imageDescriptor; |
+ } |
+ |
+ private static URL makeImageURL(String path) { |
+ return FileLocator.find(getDefault().getBundle(), new Path(path), null); |
+ } |
+ |
+ /** |
+ * The constructor |
+ */ |
+ public GlancePlugin() { |
+ } |
+ |
+ /* |
+ * (non-Javadoc) |
+ * |
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext ) |
+ */ |
+ @Override |
+ public void start(BundleContext context) throws Exception { |
+ super.start(context); |
+ plugin = this; |
+ } |
+ |
+ /* |
+ * (non-Javadoc) |
+ * |
+ * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext ) |
+ */ |
+ @Override |
+ public void stop(BundleContext context) throws Exception { |
+ plugin = null; |
+ super.stop(context); |
+ } |
+} |