/** | |
* Copyright (c) 2009-2010 Thales Corporate Services S.A.S. | |
* This program and the accompanying materials | |
* are made available under the terms of the Eclipse Public License v2.0 | |
* which accompanies this distribution, and is available at | |
* https://www.eclipse.org/legal/epl-v2.0 | |
* | |
* SPDX-License-Identifier: EPL-2.0 | |
* | |
* Contributors: | |
* Thales Corporate Services S.A.S - initial API and implementation | |
*/ | |
package org.eclipse.egf.pattern.ui.jet; | |
import org.eclipse.egf.common.ui.activator.EGFAbstractUIPlugin; | |
import org.eclipse.swt.widgets.Shell; | |
import org.eclipse.ui.IWorkbenchWindow; | |
import org.osgi.framework.BundleContext; | |
/** | |
* @author Yahong Song - Soyatec | |
* | |
*/ | |
public class Activator extends EGFAbstractUIPlugin { | |
// The shared instance | |
private static Activator _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.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 { | |
super.stop(context); | |
_plugin = null; | |
} | |
/** | |
* Returns the shared instance | |
* | |
* @return the shared instance | |
*/ | |
public static Activator getDefault() { | |
return _plugin; | |
} | |
} |