tabular-data-column-widget/src/main/java/org/gcube/portlets/user/td/columnwidget/client/custom/DefaultErrorMessageDialogAp...

100 lines
2.7 KiB
Java

package org.gcube.portlets.user.td.columnwidget.client.custom;
import org.gcube.portlets.user.td.columnwidget.client.custom.ErrorMessageDialog.ErrorMessageDialogAppearance;
import com.google.gwt.core.client.GWT;
import com.google.gwt.resources.client.ClientBundle;
import com.google.gwt.resources.client.CssResource;
import com.google.gwt.resources.client.ImageResource;
import com.google.gwt.resources.client.ClientBundle.Source;
import com.google.gwt.safehtml.shared.SafeHtml;
import com.google.gwt.safehtml.shared.SafeHtmlBuilder;
import com.sencha.gxt.core.client.XTemplates;
import com.sencha.gxt.core.client.dom.XElement;
public class DefaultErrorMessageDialogApperance implements ErrorMessageDialogAppearance {
public interface Template extends XTemplates {
@XTemplate(source = "ErrorMessageDialog.html")
SafeHtml template(ErrorMessageDialogStyle style);
}
public interface ErrorMessageDialogStyle extends CssResource {
@ClassName("container")
public String getContainer();
@ClassName("error")
public String getError();
@ClassName("errorExtended")
public String getErrorExtended();
@ClassName("errorExtendedContainer")
public String getErrorExtendedContainer();
}
private final ErrorMessageDialogStyle style;
private final Template template;
public interface ErrorMessageDialogResources extends ClientBundle {
public static final ErrorMessageDialogResources INSTANCE = GWT.create(ErrorMessageDialogResources.class);
@Source("ErrorMessageDialog.css")
ErrorMessageDialogStyle style();
@Source("exclamation.png")
ImageResource error();
@Source("exclamation_32.png")
ImageResource error32();
}
public DefaultErrorMessageDialogApperance() {
this(ErrorMessageDialogResources.INSTANCE);
}
public DefaultErrorMessageDialogApperance(ErrorMessageDialogResources resources) {
this.style = resources.style();
this.style.ensureInjected();
this.template = GWT.create(Template.class);
}
public void render(SafeHtmlBuilder sb) {
sb.append(template.template(style));
}
public XElement getMessageElement(XElement parent) {
XElement element = parent.selectNode("." + style.getError());
return element;
}
public XElement getExtendedElement(XElement parent) {
XElement element = parent.selectNode("." + style.getErrorExtended());
return element;
}
public ImageResource getWindowIcon(){
return ErrorMessageDialogResources.INSTANCE.error();
};
/*public void onUpdateIcon(XElement parent, ImageResource icon) {
XElement element = parent.selectNode("." + style.getIconButtonImage());
Image image=new Image(icon);
Element img=image.getElement();
img.setClassName(style.getIconButtonRef());
element.appendChild(img);
}*/
}