package org.ovirt.engine.ui.webadmin.section.main.presenter.popup; import org.ovirt.engine.ui.common.presenter.AbstractModelBoundPopupPresenterWidget; import org.ovirt.engine.ui.uicommonweb.models.vms.ImportVmsModel; import com.google.gwt.event.shared.EventBus; import com.google.gwt.user.client.ui.HasEnabled; import com.google.inject.Inject; public class ImportVmsPopupPresenterWidget extends AbstractModelBoundPopupPresenterWidget<ImportVmsModel, ImportVmsPopupPresenterWidget.ViewDef> { public interface ViewDef extends AbstractModelBoundPopupPresenterWidget.ViewDef<ImportVmsModel> { HasEnabled getLoadVmsFromExportDomainButton(); HasEnabled getLoadVmsFromVmwareButton(); HasEnabled getLoadOvaButton(); HasEnabled getLoadXenButton(); HasEnabled getLoadKvmButton(); } @Inject public ImportVmsPopupPresenterWidget(EventBus eventBus, ViewDef view) { super(eventBus, view); } @Override public void init(final ImportVmsModel model) { super.init(model); addDataCenterListener(); addExportDomainListener(); updateExportDomainLoadButtonEnabledState(); } private void addDataCenterListener() { getModel().getDataCenters().getPropertyChangedEvent().addListener((ev, sender, args) -> { if ("IsChangable".equals(args.propertyName)) { //$NON-NLS-1$ final boolean enabled = getModel().getDataCenters().getIsChangable(); updateExportDomainLoadButtonEnabledState(); getView().getLoadVmsFromVmwareButton().setEnabled(enabled); getView().getLoadOvaButton().setEnabled(enabled); getView().getLoadXenButton().setEnabled(enabled); getView().getLoadKvmButton().setEnabled(enabled); } }); } private void addExportDomainListener() { getModel().getExportDomain().getPropertyChangedEvent().addListener((ev, sender, args) -> updateExportDomainLoadButtonEnabledState()); } private void updateExportDomainLoadButtonEnabledState() { final boolean enabled = getModel().getExportDomain().getEntity() != null && getModel().getDataCenters().getIsChangable(); getView().getLoadVmsFromExportDomainButton().setEnabled(enabled); } }