import org.eclipse.ui.IWorkbenchPage;
import org.eclipse.ui.IWorkbenchWindow;
import org.eclipse.ui.plugin.AbstractUIPlugin;
+import org.eclipse.swt.widgets.Shell;
+import org.eclipse.jface.dialogs.ErrorDialog;
public class PHPDebugUiPlugin extends AbstractUIPlugin {
public static final String PLUGIN_ID = "net.sourceforge.phpeclipse.debug.ui"; //$NON-NLS-1$
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 active workbench shell or <code>null</code> if none
+ *
+ * @return the active workbench shell or <code>null</code> 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, getUniqueIdentifier(), /*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);