package scrum.client.files; import scrum.client.common.ABlockWidget; import scrum.client.common.AScrumAction; import scrum.client.common.BlockHeaderWidget; import scrum.client.common.BlockWidgetFactory; import scrum.client.dnd.TrashSupport; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.Widget; public class FileBlock extends ABlockWidget<File> implements TrashSupport { private Label age; @Override protected void onInitializationHeader(BlockHeaderWidget header) { File file = getObject(); age = header.appendCenterSuffix(""); header.addMenuAction(new DeleteFileAction(file)); } @Override protected void onUpdateHeader(BlockHeaderWidget header) { File file = getObject(); header.setDragHandle(file.getReference()); header.setCenter(file.getLabel()); age.setText(file.getUploadTime().getPeriodToNow().toShortestString()); } @Override protected Widget onExtendedInitialization() { return new FileWidget(getObject()); } public AScrumAction getTrashAction() { return new DeleteFileAction(getObject()); } public static final BlockWidgetFactory<File> FACTORY = new BlockWidgetFactory<File>() { public FileBlock createBlock() { return new FileBlock(); } }; }