package org.hudson.trayapp.gui.tray;
import java.awt.event.ActionListener;
import java.net.URI;
import javax.swing.ImageIcon;
import javax.swing.JPopupMenu;
public abstract class TrayIconImplementation {
private static TrayIconImplementation TRAYICON;
public final static int ERROR_MESSAGE_TYPE = 1;
public final static int WARNING_MESSAGE_TYPE = 2;
public final static int INFO_MESSAGE_TYPE = 3;
public TrayIconImplementation(ImageIcon img) {
TRAYICON = this;
}
public abstract void setIconAutoSize(boolean autoSize);
public abstract void addActionListener(ActionListener listener);
public abstract void displayMessage(String caption, String message, int type);
public abstract void setToolTip(String tooltip);
public abstract void setPopupMenu(JPopupMenu popupmenu);
public abstract void setIcon(ImageIcon icon);
public abstract void browse(final URI uri) throws Exception;
public static void displayException(String title, String message, Exception e) {
TRAYICON.displayMessage(title, message + "\nException:" + e.toString(), ERROR_MESSAGE_TYPE);
}
}