package scrum.client.calendar; 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 SimpleEventBlock extends ABlockWidget<SimpleEvent> implements TrashSupport { private Label timeLabel; private Label durationLabel; @Override protected void onInitializationHeader(BlockHeaderWidget header) { SimpleEvent event = getObject(); timeLabel = header.insertPrefixLabel("35px", true); durationLabel = header.appendCenterSuffix(""); header.addMenuAction(new PublishSimpleEventAction(event)); header.addMenuAction(new DeleteSimpleEventAction(event)); } @Override protected void onUpdateHeader(BlockHeaderWidget header) { SimpleEvent event = getObject(); header.setDragHandle(event.getReference()); timeLabel.setText(event.getTimeAsString()); durationLabel.setText(event.getDurationAsString()); header.setCenter(event.getLabel()); } @Override protected Widget onExtendedInitialization() { return new SimpleEventWidget(getObject()); } public AScrumAction getTrashAction() { return new DeleteSimpleEventAction(getObject()); } public static final BlockWidgetFactory<SimpleEvent> FACTORY = new BlockWidgetFactory<SimpleEvent>() { public SimpleEventBlock createBlock() { return new SimpleEventBlock(); } }; }