package com.gwt.ui.client; import com.google.gwt.core.client.GWT; import com.google.gwt.user.client.ui.Composite; import com.google.gwt.user.client.ui.FlowPanel; import com.google.gwt.user.client.ui.HTML; import com.gwt.ui.client.supertable.HTMLHelper; public class MessageBar extends Composite { public static final int NONE = 0; public static final int INFORMATION = 1; public static final int WARNING = 2; public static final int ERROR = 3; private int severity = INFORMATION; private FlowPanel panel; private HTML message; private String text = ""; /** * A Constructor for this class */ public MessageBar() { super(); panel = new FlowPanel(); initWidget(panel); init(); } private void init() { setStyleName("gwtcomp-MessageBar"); setWidth("100%"); message = new HTML(" "); message.setWidth("100%"); panel.add(message); panel.add(new HTML(HTMLHelper.hr("#AAAAAA"))); } /** * Display a Message * * @param text */ public void setMessage(String text) { setMessage(text, INFORMATION); } /** * Prints a message with a given severity. * * @param text message to print. * @param severity of the message */ public void setMessage(String text, int severity) { this.text = text; this.severity = severity; String color = null; String icon = null; switch (severity) { case NONE: clearMessage(); return; case INFORMATION: icon = GWT.getModuleBaseURL() + "gwtcomp-icons/info.png"; color = "blue"; break; case WARNING: icon = GWT.getModuleBaseURL() + "gwtcomp-icons/bell.png"; color = "#FF9900"; break; case ERROR: icon = GWT.getModuleBaseURL() + "gwtcomp-icons/no.png"; color = "red"; break; } message.setHTML("<img border='0' align='top' src='" + icon + "'/>" + " <span style=\"color: " + color + ";\">" + text + "</span>"); } /** * Clears the message */ public void clearMessage() { message.setHTML(" "); text = null; severity = INFORMATION; } public int getSeverity() { return severity; } public void setSeverity(int severity) { this.severity = severity; } public String getText() { return text; } public void setText(String text) { this.text = text; } }