package org.ovirt.engine.ui.webadmin.widget.provider; import org.ovirt.engine.ui.common.widget.AddRemoveRowWidget; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListModel; import org.ovirt.engine.ui.uicompat.external.StringUtils; import com.google.gwt.core.shared.GWT; import com.google.gwt.dom.client.Style.Unit; import com.google.gwt.uibinder.client.UiBinder; import com.google.gwt.user.client.ui.Widget; public class DnsServersWidget extends AddRemoveRowWidget<ListModel<EntityModel<String>>, EntityModel<String>, DnsServerEditor> { public interface WidgetUiBinder extends UiBinder<Widget, DnsServersWidget> { WidgetUiBinder uiBinder = GWT.create(WidgetUiBinder.class); } public DnsServersWidget() { initWidget(WidgetUiBinder.uiBinder.createAndBindUi(this)); } private double width = 150; @Override protected DnsServerEditor createWidget(EntityModel<String> value) { DnsServerEditor widget = new DnsServerEditor(); if (usePatternFly) { widget.setUsePatternFly(true); widget.hideLabel(); widget.getElement().getStyle().setWidth(width, Unit.PX); } widget.edit(value); return widget; } @Override protected EntityModel<String> createGhostValue() { EntityModel<String> value = new EntityModel<>(); value.setEntity(""); return value; } @Override protected boolean isGhost(EntityModel<String> value) { return StringUtils.isEmpty(value.getEntity()); } public void setDnsServerWidth(double value) { this.width = value; } }