package org.eclipse.egf.producer.ui; | |
import org.eclipse.egf.common.ui.activator.EGFAbstractUIPlugin; | |
import org.eclipse.swt.widgets.Shell; | |
import org.eclipse.ui.IWorkbenchWindow; | |
import org.osgi.framework.BundleContext; | |
/** | |
* The activator class controls the plug-in life cycle | |
*/ | |
public class EGFProducerUIPlugin extends EGFAbstractUIPlugin { | |
// The shared instance | |
private static EGFProducerUIPlugin __plugin; | |
/** | |
* | |
* Returns the currently active window for this workbench (if any). Returns | |
* <code>null</code> if there is no active workbench window. Returns | |
* <code>null</code> if called from a non-UI thread. | |
* | |
* @return the active workbench window, or <code>null</code> if there is | |
* no active workbench window or if called from a non-UI thread | |
*/ | |
public static IWorkbenchWindow getActiveWorkbenchWindow() { | |
return getDefault().getWorkbench().getActiveWorkbenchWindow(); | |
} | |
/** | |
* Returns the currently active shell for this workbench (if any). | |
* | |
* @return the active workbench shell. | |
*/ | |
public static Shell getActiveWorkbenchShell() { | |
IWorkbenchWindow window = getActiveWorkbenchWindow(); | |
if (window == null) { | |
IWorkbenchWindow[] windows = getDefault().getWorkbench().getWorkbenchWindows(); | |
if (windows.length > 0) { | |
return windows[0].getShell(); | |
} | |
} else { | |
return window.getShell(); | |
} | |
return null; | |
} | |
/** | |
* (non-Javadoc) | |
* | |
* @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext) | |
*/ | |
@Override | |
public void start(BundleContext context) throws Exception { | |
super.start(context); | |
__plugin = this; | |
} | |
/** | |
* (non-Javadoc) | |
* | |
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext) | |
*/ | |
@Override | |
public void stop(BundleContext context) throws Exception { | |
__plugin = null; | |
super.stop(context); | |
} | |
/** | |
* Returns the shared instance | |
* | |
* @return the shared instance | |
*/ | |
public static EGFProducerUIPlugin getDefault() { | |
return __plugin; | |
} | |
} |