package org.ovirt.engine.ui.webadmin.section.main.view.tab.template; import org.ovirt.engine.core.common.businessentities.VmInterfaceType; import org.ovirt.engine.core.common.businessentities.VmNetworkInterface; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.models.templates.TemplateInterfaceListModel; import org.ovirt.engine.ui.uicommonweb.models.templates.TemplateListModel; import org.ovirt.engine.ui.webadmin.idhandler.ElementIdHandler; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.template.SubTabTemplateInterfacePresenter; import org.ovirt.engine.ui.webadmin.section.main.view.AbstractSubTabTableView; import org.ovirt.engine.ui.webadmin.uicommon.model.SearchableDetailModelProvider; import org.ovirt.engine.ui.webadmin.widget.action.UiCommandButtonDefinition; import org.ovirt.engine.ui.webadmin.widget.table.column.EnumColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.TextColumnWithTooltip; import com.google.gwt.core.client.GWT; import com.google.inject.Inject; public class SubTabTemplateInterfaceView extends AbstractSubTabTableView<VmTemplate, VmNetworkInterface, TemplateListModel, TemplateInterfaceListModel> implements SubTabTemplateInterfacePresenter.ViewDef { interface ViewIdHandler extends ElementIdHandler<SubTabTemplateInterfaceView> { ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); } @Inject public SubTabTemplateInterfaceView(SearchableDetailModelProvider<VmNetworkInterface, TemplateListModel, TemplateInterfaceListModel> modelProvider) { super(modelProvider); ViewIdHandler.idHandler.generateAndSetIds(this); initTable(); initWidget(getTable()); } void initTable() { TextColumnWithTooltip<VmNetworkInterface> nameColumn = new TextColumnWithTooltip<VmNetworkInterface>() { @Override public String getValue(VmNetworkInterface object) { return object.getName(); } }; getTable().addColumn(nameColumn, "Name"); TextColumnWithTooltip<VmNetworkInterface> networkNameColumn = new TextColumnWithTooltip<VmNetworkInterface>() { @Override public String getValue(VmNetworkInterface object) { return object.getNetworkName(); } }; getTable().addColumn(networkNameColumn, "Network Name"); TextColumnWithTooltip<VmNetworkInterface> typeColumn = new EnumColumn<VmNetworkInterface, VmInterfaceType>() { @Override protected VmInterfaceType getRawValue(VmNetworkInterface object) { return VmInterfaceType.forValue(object.getType()); } }; getTable().addColumn(typeColumn, "Type"); getTable().addActionButton(new UiCommandButtonDefinition<VmNetworkInterface>("New") { @Override protected UICommand resolveCommand() { return getDetailModel().getNewCommand(); } }); getTable().addActionButton(new UiCommandButtonDefinition<VmNetworkInterface>("Edit") { @Override protected UICommand resolveCommand() { return getDetailModel().getEditCommand(); } }); getTable().addActionButton(new UiCommandButtonDefinition<VmNetworkInterface>("Remove") { @Override protected UICommand resolveCommand() { return getDetailModel().getRemoveCommand(); } }); } }