package org.ovirt.engine.ui.webadmin.section.main.view.tab.virtualMachine; import org.ovirt.engine.core.common.businessentities.VM; import org.ovirt.engine.core.common.businessentities.permissions; import org.ovirt.engine.ui.uicommonweb.UICommand; import org.ovirt.engine.ui.uicommonweb.models.configure.PermissionListModel; import org.ovirt.engine.ui.uicommonweb.models.vms.VmListModel; import org.ovirt.engine.ui.webadmin.idhandler.ElementIdHandler; import org.ovirt.engine.ui.webadmin.section.main.presenter.tab.virtualMachine.SubTabVirtualMachinePermissionPresenter; import org.ovirt.engine.ui.webadmin.section.main.view.tab.AbstractSubTabPermissionsView; 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.PermissionTypeColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.TextColumnWithTooltip; import com.google.gwt.core.client.GWT; import com.google.inject.Inject; public class SubTabVirtualMachinePermissionView extends AbstractSubTabPermissionsView<VM, VmListModel> implements SubTabVirtualMachinePermissionPresenter.ViewDef { interface ViewIdHandler extends ElementIdHandler<SubTabVirtualMachinePermissionView> { ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); } @Inject public SubTabVirtualMachinePermissionView(SearchableDetailModelProvider<permissions, VmListModel, PermissionListModel> modelProvider) { super(modelProvider); initWidget(getTable()); } @Override protected void initTable() { ViewIdHandler.idHandler.generateAndSetIds(this); getTable().addColumn(new PermissionTypeColumn(), "", "30px"); TextColumnWithTooltip<permissions> userColumn = new TextColumnWithTooltip<permissions>() { @Override public String getValue(permissions object) { return object.getOwnerName(); } }; getTable().addColumn(userColumn, "User"); TextColumnWithTooltip<permissions> roleColumn = new TextColumnWithTooltip<permissions>() { @Override public String getValue(permissions object) { return object.getRoleName(); } }; getTable().addColumn(roleColumn, "Role"); getTable().addActionButton(new UiCommandButtonDefinition<permissions>("Add") { @Override protected UICommand resolveCommand() { return getDetailModel().getAddCommand(); } }); getTable().addActionButton(new UiCommandButtonDefinition<permissions>("Remove") { @Override protected UICommand resolveCommand() { return getDetailModel().getRemoveCommand(); } }); } }