X-Git-Url: http://git.phpeclipse.com diff --git a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/PHPDebugUiPlugin.java b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/PHPDebugUiPlugin.java index 63b7b6e..79f91cb 100644 --- a/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/PHPDebugUiPlugin.java +++ b/net.sourceforge.phpeclipse.debug.ui/src/net/sourceforge/phpdt/internal/debug/ui/PHPDebugUiPlugin.java @@ -6,9 +6,13 @@ import org.eclipse.core.resources.IWorkspace; import org.eclipse.core.runtime.IPluginDescriptor; 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$ @@ -34,6 +38,68 @@ public class PHPDebugUiPlugin extends AbstractUIPlugin { 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); @@ -43,6 +109,20 @@ public class PHPDebugUiPlugin extends AbstractUIPlugin { 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); //