package org.ovirt.engine.ui.webadmin.section.main.view.tab; import org.ovirt.engine.core.common.businessentities.VDSGroup; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.models.clusters.ClusterListModel; import org.ovirt.engine.ui.webadmin.idhandler.ElementIdHandler; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.MainTabClusterPresenter; import org.ovirt.engine.ui.webadmin.section.main.view.AbstractMainTabWithDetailsTableView; import org.ovirt.engine.ui.webadmin.uicommon.model.MainModelProvider; import org.ovirt.engine.ui.webadmin.widget.action.UiCommandButtonDefinition; import org.ovirt.engine.ui.webadmin.widget.table.column.TextColumnWithTooltip; import com.google.gwt.core.client.GWT; import com.google.inject.Inject; public class MainTabClusterView extends AbstractMainTabWithDetailsTableView<VDSGroup, ClusterListModel> implements MainTabClusterPresenter.ViewDef { interface ViewIdHandler extends ElementIdHandler<MainTabClusterView> { ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); } @Inject public MainTabClusterView(MainModelProvider<VDSGroup, ClusterListModel> modelProvider) { super(modelProvider); ViewIdHandler.idHandler.generateAndSetIds(this); initTable(); initWidget(getTable()); } void initTable() { TextColumnWithTooltip<VDSGroup> nameColumn = new TextColumnWithTooltip<VDSGroup>() { @Override public String getValue(VDSGroup object) { return object.getname(); } }; getTable().addColumn(nameColumn, "Name"); TextColumnWithTooltip<VDSGroup> versionColumn = new TextColumnWithTooltip<VDSGroup>() { @Override public String getValue(VDSGroup object) { return object.getcompatibility_version().getValue(); } }; getTable().addColumn(versionColumn, "Compatiblity Version"); TextColumnWithTooltip<VDSGroup> descColumn = new TextColumnWithTooltip<VDSGroup>() { @Override public String getValue(VDSGroup object) { return object.getdescription(); } }; getTable().addColumn(descColumn, "Description"); getTable().addActionButton(new UiCommandButtonDefinition<VDSGroup>("New") { @Override protected UICommand resolveCommand() { return getMainModel().getNewCommand(); } }); getTable().addActionButton(new UiCommandButtonDefinition<VDSGroup>("Edit") { @Override protected UICommand resolveCommand() { return getMainModel().getEditCommand(); } }); getTable().addActionButton(new UiCommandButtonDefinition<VDSGroup>("Remove") { @Override protected UICommand resolveCommand() { return getMainModel().getRemoveCommand(); } }); } }