package net.sourceforge.phpdt.internal.debug.ui;
import net.sourceforge.phpeclipse.PHPeclipsePlugin;
import org.eclipse.core.resources.IWorkspace;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
//import org.eclipse.jface.dialogs.ErrorDialog;
import org.eclipse.swt.widgets.Display;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.plugin.AbstractUIPlugin;
import org.osgi.framework.BundleContext;
public class PHPDebugUiPlugin extends AbstractUIPlugin {
public static final String PLUGIN_ID = "net.sourceforge.phpeclipse.debug.ui"; //$NON-NLS-1$
protected static PHPDebugUiPlugin plugin;
public PHPDebugUiPlugin() {
super();
plugin = this;
}
public static IWorkbenchWindow getActiveWorkbenchWindow() {
return getDefault().getWorkbench().getActiveWorkbenchWindow();
}
public static IWorkbenchPage getActivePage() {
return PHPDebugUiPlugin.getActiveWorkbenchWindow().getActivePage();
}
public static PHPDebugUiPlugin getDefault() {
return plugin;
}
public static IWorkspace getWorkspace() {
return PHPeclipsePlugin.getWorkspace();
}
/**
* Convenience method which returns the unique identifier of this plugin.
*/
// public static String getUniqueIdentifier()
// {
// if ( getDefault() == null )
// {
// // If the default instance is not yet initialized,
// // return a static identifier. This identifier must
// // match the plugin id defined in plugin.xml
// return PLUGIN_ID;
// }
// return getDefault().getDescriptor().getUniqueIdentifier();
// }
/**
* Returns the standard display to be used. The method first checks, if the
* thread calling this method has an associated display. If so, this display
* is returned. Otherwise the method returns the default display.
*/
public static Display getStandardDisplay() {
Display display;
display = Display.getCurrent();
if (display == null)
display = Display.getDefault();
return display;
}
/**
* Returns the active workbench shell or null
if none
*
* @return the active workbench shell or null
if none
*/
public static Shell getActiveWorkbenchShell() {
IWorkbenchWindow window = getActiveWorkbenchWindow();
if (window != null) {
return window.getShell();
}
return null;
}
// public static void errorDialog(String message, IStatus status) {
// log(status);
// Shell shell = getActiveWorkbenchShell();
// if (shell != null) {
// ErrorDialog.openError(shell, "Error", message, status);
// }
// }
// public static void errorDialog(String message, Throwable t) {
// log(t);
// Shell shell = getActiveWorkbenchShell();
// if (shell != null) {
// IStatus status = new Status(IStatus.ERROR, PLUGIN_ID, /* ICDebugUIConstants.INTERNAL_ERROR */
// 150, t.getMessage(), null); //$NON-NLS-1$
// ErrorDialog.openError(shell, "Error", message, status);
// }
// }
public static void log(IStatus status) {
getDefault().getLog().log(status);
}
public static void log(Throwable e) {
log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR,
PHPDebugUiMessages
.getString("RdtDebugUiPlugin.internalErrorOccurred"), e)); //$NON-NLS-1$
}
/**
* 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);
}
// protected void initializeDefaultPreferences(IPreferenceStore store) {
// super.initializeDefaultPreferences(store);
//
// store.setDefault(RdtDebugUiConstants.PREFERENCE_KEYWORDS,
// getDefaultKeywords());
// }
// protected String getDefaultKeywords() {
// return "class,def,end,if,module,new,puts,require,rescue,throw,while";
// }
}