/** * <copyright> * </copyright> * * */ package org.feature.multi.perspective.mapping.viewmapping.resource.mtext.ui; /** * A singleton class for the text resource UI plug-in. */ public class MtextUIPlugin extends org.eclipse.ui.plugin.AbstractUIPlugin { public static final String PLUGIN_ID = "org.feature.multi.perspective.mapping.viewmapping.resource.mtext.ui"; public static final String EDITOR_ID = "org.feature.multi.perspective.mapping.viewmapping.resource.mtext.ui.MtextEditor"; public static final String EMFTEXT_SDK_VERSION = "1.4.1"; public static final String EP_DEFAULT_LOAD_OPTIONS_ID = PLUGIN_ID + ".default_load_options"; public static final String EP_ADDITIONAL_EXTENSION_PARSER_ID = PLUGIN_ID + ".additional_extension_parser"; private static MtextUIPlugin plugin; public MtextUIPlugin() { super(); } public void start(org.osgi.framework.BundleContext context) throws Exception { super.start(context); plugin = this; } public void stop(org.osgi.framework.BundleContext context) throws Exception { plugin = null; super.stop(context); } public static MtextUIPlugin getDefault() { return plugin; } public static void showErrorDialog(final String title, final String message) { org.eclipse.swt.widgets.Display.getDefault().asyncExec(new Runnable() { public void run() { org.eclipse.swt.widgets.Shell parent = new org.eclipse.swt.widgets.Shell(); org.eclipse.jface.dialogs.MessageDialog dialog = new org.eclipse.jface.dialogs.MessageDialog(parent, title, null, message, org.eclipse.jface.dialogs.MessageDialog.ERROR, new String[] { org.eclipse.jface.dialogs.IDialogConstants.OK_LABEL }, 0) { }; dialog.open(); } }); } /** * Helper method for error logging. * * @param message the error message to log * @param exception the exception that describes the error in detail * * @return the status object describing the error */ public static org.eclipse.core.runtime.IStatus logError(String message, Throwable exception) { org.eclipse.core.runtime.IStatus status; if (exception != null) { status = new org.eclipse.core.runtime.Status(org.eclipse.core.runtime.IStatus.ERROR, MtextUIPlugin.PLUGIN_ID, 0, message, exception); } else { status = new org.eclipse.core.runtime.Status(org.eclipse.core.runtime.IStatus.ERROR, MtextUIPlugin.PLUGIN_ID, message); } final MtextUIPlugin pluginInstance = MtextUIPlugin.getDefault(); if (pluginInstance == null) { System.err.println(message); if (exception != null) { exception.printStackTrace(); } } else { pluginInstance.getLog().log(status); } return status; } }