package com.antfortune.freeline.idea.utils;
import com.intellij.notification.Notification;
import com.intellij.notification.NotificationGroup;
import com.intellij.notification.NotificationType;
import com.intellij.notification.Notifications;
import com.intellij.openapi.application.ApplicationManager;
import com.intellij.openapi.ui.Messages;
import com.intellij.openapi.util.SystemInfo;
public class NotificationUtils {
private static final String TITLE = "Freeline Plugin";
private static final NotificationGroup NOTIFICATION_GROUP = NotificationGroup.balloonGroup(TITLE);
/**
* show a Notification
*
* @param message
* @param type
*/
public static void showNotification(final String message,
final NotificationType type) {
ApplicationManager.getApplication().invokeLater(new Runnable() {
@Override
public void run() {
Notification notification =
NOTIFICATION_GROUP.createNotification(TITLE, message, type, null);
Notifications.Bus.notify(notification);
}
});
}
/**
* show a error Notification
*
* @param message
*/
public static void errorNotification(final String message) {
showNotification(message, NotificationType.ERROR);
}
/**
* error message dialog
* @param message
*/
public static void errorMsgDialog(String message) {
Messages.showMessageDialog(message, "Error", Messages.getInformationIcon());
}
/**
* show a info Notification
*
* @param message
*/
public static void infoNotification(final String message) {
showNotification(message, NotificationType.INFORMATION);
}
/**
* python提示
*/
public static void pythonNotFound() {
String tip = "command 'python' not found. ";
if (SystemInfo.isWindows) {
tip += " if first installation python or Set Environment variable, Please restart your computer";
}
errorNotification(tip);
}
}