package org.ovirt.engine.ui.webadmin.section.main.view.tab; import java.util.Date; import org.ovirt.engine.core.common.businessentities.VmTemplate; import org.ovirt.engine.core.common.businessentities.VmTemplateStatus; import org.ovirt.engine.ui.uicommonweb.UICommand; 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.MainTabTemplatePresenter; 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.EnumColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.GeneralDateTimeColumn; import org.ovirt.engine.ui.webadmin.widget.table.column.TextColumnWithTooltip; import com.google.gwt.core.client.GWT; import com.google.inject.Inject; public class MainTabTemplateView extends AbstractMainTabWithDetailsTableView<VmTemplate, TemplateListModel> implements MainTabTemplatePresenter.ViewDef { interface ViewIdHandler extends ElementIdHandler<MainTabTemplateView> { ViewIdHandler idHandler = GWT.create(ViewIdHandler.class); } @Inject public MainTabTemplateView(MainModelProvider<VmTemplate, TemplateListModel> modelProvider) { super(modelProvider); ViewIdHandler.idHandler.generateAndSetIds(this); initTable(); initWidget(getTable()); } void initTable() { TextColumnWithTooltip<VmTemplate> nameColumn = new TextColumnWithTooltip<VmTemplate>() { @Override public String getValue(VmTemplate object) { return object.getname(); } }; getTable().addColumn(nameColumn, "Name"); TextColumnWithTooltip<VmTemplate> domainColumn = new TextColumnWithTooltip<VmTemplate>() { @Override public String getValue(VmTemplate object) { return object.getdomain(); } }; getTable().addColumn(domainColumn, "Domain"); TextColumnWithTooltip<VmTemplate> creationDateColumn = new GeneralDateTimeColumn<VmTemplate>() { @Override protected Date getRawValue(VmTemplate object) { return object.getcreation_date(); } }; getTable().addColumn(creationDateColumn, "Creation Date"); TextColumnWithTooltip<VmTemplate> statusColumn = new EnumColumn<VmTemplate, VmTemplateStatus>() { @Override protected VmTemplateStatus getRawValue(VmTemplate object) { return object.getstatus(); } }; getTable().addColumn(statusColumn, "Status"); TextColumnWithTooltip<VmTemplate> clusterColumn = new TextColumnWithTooltip<VmTemplate>() { @Override public String getValue(VmTemplate object) { return object.getvds_group_name(); } }; getTable().addColumn(clusterColumn, "Cluster"); TextColumnWithTooltip<VmTemplate> descriptionColumn = new TextColumnWithTooltip<VmTemplate>() { @Override public String getValue(VmTemplate object) { return object.getdescription(); } }; getTable().addColumn(descriptionColumn, "Description"); getTable().addActionButton(new UiCommandButtonDefinition<VmTemplate>("Edit") { @Override protected UICommand resolveCommand() { return getMainModel().getEditCommand(); } }); getTable().addActionButton(new UiCommandButtonDefinition<VmTemplate>("Remove") { @Override protected UICommand resolveCommand() { return getMainModel().getRemoveCommand(); } }); // TODO: separator getTable().addActionButton(new UiCommandButtonDefinition<VmTemplate>("Export") { @Override protected UICommand resolveCommand() { return getMainModel().getExportCommand(); } }); getTable().addActionButton(new UiCommandButtonDefinition<VmTemplate>("Copy") { @Override protected UICommand resolveCommand() { return getMainModel().getCopyCommand(); } }); } }