package org.ovirt.engine.ui.userportal.client.views.extended.templates;
import org.ovirt.engine.core.common.businessentities.VmTemplate;
import org.ovirt.engine.ui.userportal.client.components.GridController;
import org.ovirt.engine.ui.userportal.client.components.GridElement;
import org.ovirt.engine.ui.userportal.client.views.extended.templates.components.TemplateGridItem;
import com.smartgwt.client.types.Overflow;
import com.smartgwt.client.widgets.Label;
import com.smartgwt.client.widgets.events.ClickEvent;
import com.smartgwt.client.widgets.events.ClickHandler;
import com.smartgwt.client.widgets.layout.HLayout;
import com.smartgwt.client.widgets.layout.VLayout;
public class TemplateGrid extends GridController<VmTemplate> {
private VLayout gridLayout;
public TemplateGrid() {
gridLayout = new VLayout();
gridLayout.setOverflow(Overflow.AUTO);
}
public VLayout getLayout() {
return gridLayout;
}
@Override
public Object getId(VmTemplate item) {
return item.getId();
}
@Override
public GridElement<VmTemplate> addItem(VmTemplate item, int position) {
final TemplateGridItem gridItem = new TemplateGridItem(item);
gridLayout.addMember(gridItem, position);
gridItem.addClickHandler(new ClickHandler() {
@Override
public void onClick(ClickEvent event) {
select(gridItem);
}
});
return gridItem;
}
@Override
public void removeItem(GridElement<VmTemplate> itemView) {
gridLayout.removeMember((HLayout)itemView);
}
}