package org.ovirt.engine.ui.common.widget.uicommon.popup.vm; import static org.ovirt.engine.ui.common.widget.uicommon.popup.vm.PopupWidgetConfig.hiddenField; import static org.ovirt.engine.ui.common.widget.uicommon.popup.vm.PopupWidgetConfig.simpleField; import org.ovirt.engine.ui.common.idhandler.ElementIdHandler; import org.ovirt.engine.ui.common.widget.uicommon.popup.AbstractVmPopupWidget; import org.ovirt.engine.ui.uicommonweb.models.vms.UnitVmModel; import com.google.gwt.core.client.GWT; public class VmPopupWidget extends AbstractVmPopupWidget { interface ViewIdHandler extends ElementIdHandler<VmPopupWidget> { ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); } @Override protected void generateIds() { ViewIdHandler.idHandler.generateAndSetIds(this); } @Override public void edit(UnitVmModel unitVmModel) { super.edit(unitVmModel); if (unitVmModel.isVmAttachedToPool()) { // this just disables it, does not hides it specificHost.setEnabled(false); } } @Override protected PopupWidgetConfigMap createWidgetConfiguration() { PopupWidgetConfigMap widgetConfiguration = super.createWidgetConfiguration(). putAll(poolSpecificFields(), hiddenField()). putOne(baseTemplateEditor, hiddenField()). update(templateVersionNameEditor, hiddenField()). update(instanceImagesEditor, simpleField()); updateOrAddToWidgetConfiguration(widgetConfiguration, detachableWidgets(), UpdateToDetachable.INSTANCE); updateOrAddToWidgetConfiguration(widgetConfiguration, adminOnlyWidgets(), UpdateToAdminOnly.INSTANCE); return widgetConfiguration; } }