| package org.eclipse.gmf.internal.doc.ui; |
| |
| import org.eclipse.core.runtime.CoreException; |
| import org.eclipse.core.runtime.IStatus; |
| import org.eclipse.core.runtime.Status; |
| import org.eclipse.jface.resource.ImageDescriptor; |
| import org.eclipse.swt.widgets.Shell; |
| import org.eclipse.ui.IWorkbenchWindow; |
| import org.eclipse.ui.plugin.AbstractUIPlugin; |
| import org.osgi.framework.BundleContext; |
| |
| /** |
| * The main plugin class to be used in the desktop. |
| */ |
| public class Activator extends AbstractUIPlugin { |
| |
| // The shared instance. |
| private static Activator plugin; |
| |
| /** |
| * The constructor. |
| */ |
| public Activator() { |
| plugin = this; |
| } |
| |
| /** |
| * This method is called upon plug-in activation |
| */ |
| public void start(BundleContext context) throws Exception { |
| super.start(context); |
| } |
| |
| /** |
| * This method is called when the plug-in is stopped |
| */ |
| public void stop(BundleContext context) throws Exception { |
| super.stop(context); |
| plugin = null; |
| } |
| |
| /** |
| * Returns the shared instance. |
| * |
| * @return the shared instance. |
| */ |
| public static Activator getDefault() { |
| return plugin; |
| } |
| |
| /** |
| * Returns an image descriptor for the image file at the given plug-in |
| * relative path. |
| * |
| * @param path |
| * the path |
| * @return the image descriptor |
| */ |
| public static ImageDescriptor getImageDescriptor(String path) { |
| return AbstractUIPlugin.imageDescriptorFromPlugin("org.eclipse.gmf.doc.ui", path); |
| } |
| |
| public static Shell getActiveWorkbenchShell() { |
| IWorkbenchWindow window = getActiveWorkbenchWindow(); |
| if (window != null) |
| return window.getShell(); |
| else |
| return null; |
| |
| } |
| |
| public static IWorkbenchWindow getActiveWorkbenchWindow() { |
| return getDefault().getWorkbench().getActiveWorkbenchWindow(); |
| } |
| |
| public static void log(Exception ex) { |
| if (ex instanceof CoreException) { |
| log(((CoreException) ex).getStatus()); |
| } else { |
| log(new Status(IStatus.ERROR, getPluginID(), 0, ex.getMessage(), ex)); |
| } |
| } |
| |
| public static void log(IStatus s) { |
| getDefault().getLog().log(s); |
| } |
| |
| public static String getPluginID() { |
| return getDefault().getBundle().getSymbolicName(); |
| } |
| |
| } |