package org.ovirt.engine.ui.webadmin.section.main.view; import org.ovirt.engine.ui.uicommonweb.models.EntityModel; import org.ovirt.engine.ui.uicommonweb.models.ListWithDetailsModel; import org.ovirt.engine.ui.webadmin.section.main.presenter.AbstractSubTabPresenter; import org.ovirt.engine.ui.webadmin.uicommon.model.DetailModelProvider; import org.ovirt.engine.ui.webadmin.view.AbstractView; import org.ovirt.engine.ui.webadmin.widget.table.OrderedMultiSelectionModel; import com.google.gwt.user.cellview.client.LoadingStateChangeEvent.LoadingState; /** * Base class for form-based sub tab views. * * @param <T> * Main tab table row data type. * @param <M> * Main model type. * @param <D> * Detail model type. */ public abstract class AbstractSubTabFormView<T, M extends ListWithDetailsModel, D extends EntityModel> extends AbstractView implements AbstractSubTabPresenter.ViewDef<T> { private final DetailModelProvider<M, D> modelProvider; public AbstractSubTabFormView(DetailModelProvider<M, D> modelProvider) { this.modelProvider = modelProvider; } protected D getDetailModel() { return modelProvider.getModel(); } @Override public OrderedMultiSelectionModel<?> getTableSelectionModel() { // Form-based sub tab views have no table selection model return null; } @Override public void setLoadingState(LoadingState state) { setLoadingState(state); } }