/*******************************************************************************
* Copyright (c) 2009 Andrey Loskutov.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
* Contributor: Andrey Loskutov - initial API and implementation
*******************************************************************************/
package de.loskutov.anyedit;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Status;
import org.eclipse.jface.dialogs.MessageDialog;
import org.eclipse.swt.widgets.Shell;
import org.eclipse.ui.plugin.AbstractUIPlugin;
/**
* The main plugin class to be used in the desktop.
*/
public class AnyEditToolsPlugin extends AbstractUIPlugin {
private static AnyEditToolsPlugin plugin;
private static boolean isSaveHookInitialized;
/**
* The constructor.
*/
public AnyEditToolsPlugin() {
super();
if(plugin != null) {
throw new IllegalStateException("AnyEditToolsPlugin is a singleton!");
}
plugin = this;
}
public static String getId(){
return getDefault().getBundle().getSymbolicName();
}
/**
* Returns the shared instance.
*/
public static AnyEditToolsPlugin getDefault() {
return plugin;
}
/**
* Returns the workspace instance.
*/
public static Shell getShell() {
return getDefault().getWorkbench().getActiveWorkbenchWindow().getShell();
}
public static void errorDialog(String message, Throwable error) {
Shell shell = getShell();
if (message == null) {
message = Messages.error;
}
message = message + " " + error.getMessage();
getDefault().getLog().log(
new Status(IStatus.ERROR, getId(), IStatus.OK, message, error));
MessageDialog.openError(shell, Messages.title, message);
}
/**
* @param error
*/
public static void logError(String message, Throwable error) {
if (message == null) {
message = error.getMessage();
if (message == null) {
message = error.toString();
}
}
getDefault().getLog().log(
new Status(IStatus.ERROR, getId(), IStatus.OK, message, error));
}
public static void logInfo(String message) {
getDefault().getLog().log(
new Status(IStatus.INFO, getId(), IStatus.OK, message, null));
}
public static void errorDialog(String message) {
Shell shell = getShell();
MessageDialog.openError(shell, Messages.title, message);
}
/**
* @param isSaveHookInitialized
* The isSaveHookInitialized to set.
*/
public static void setSaveHookInitialized(boolean isSaveHookInitialized) {
AnyEditToolsPlugin.isSaveHookInitialized = isSaveHookInitialized;
}
/**
* @return Returns the isSaveHookInitialized.
*/
public static boolean isSaveHookInitialized() {
return isSaveHookInitialized;
}
}