package org.opennms.features.node.list.gwt.client;
import java.util.Date;
import com.google.gwt.dom.client.Style.Unit;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Cookies;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.CheckBox;
import com.google.gwt.user.client.ui.DockLayoutPanel;
import com.google.gwt.user.client.ui.HTML;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.PopupPanel;
import com.google.gwt.user.client.ui.Widget;
public class ErrorDialogBox extends PopupPanel {
private final Label m_errorLabel = new Label();
private final HTML m_caption = new HTML();
private DockLayoutPanel m_layoutPanel;
public ErrorDialogBox() {
setModal(false);
//setText("Error");
// Enable animation.
setAnimationEnabled(true);
setWidget(createWidget());
}
private Widget createWidget() {
m_errorLabel.setText("hello");
Button ok = new Button("OK");
ok.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
ErrorDialogBox.this.hide();
}
});
final CheckBox check = new CheckBox();
check.setText("Don't show again for 24hours");
check.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
if(check.getValue()) {
Cookies.setCookie(PageableNodeList.COOKIE, "true", new Date(new Date().getTime() + 86400000));
}
}
});
m_layoutPanel = new DockLayoutPanel(Unit.EM);
m_layoutPanel.setWidth("100%");
m_layoutPanel.setHeight("125px");
m_caption.getElement().getStyle().setBackgroundColor("#ebebeb");
m_caption.setText("Error");
m_layoutPanel.addNorth(m_caption, 2);
m_layoutPanel.addSouth(ok, 2);
m_layoutPanel.addSouth(check, 2);
m_layoutPanel.add(m_errorLabel);
return m_layoutPanel;
}
public void setErrorMessageAndShow(String errorMsg) {
m_errorLabel.setText(errorMsg);
m_errorLabel.setHeight("100px");
setHeight((52 + m_caption.getOffsetHeight() + 100) + "px");
show();
}
}