package scrum.client.impediments; import ilarkesto.gwt.client.AFieldValueWidget; import ilarkesto.gwt.client.TableBuilder; import ilarkesto.gwt.client.editor.DateEditorWidget; import scrum.client.ScrumGwt; import scrum.client.common.AScrumWidget; import scrum.client.journal.ChangeHistoryWidget; import com.google.gwt.user.client.ui.Widget; public class ImpedimentWidget extends AScrumWidget { private Impediment impediment; public ImpedimentWidget(Impediment impediment) { super(); this.impediment = impediment; } @Override protected Widget onInitialization() { return TableBuilder.row(20, createLeftColumn(), ScrumGwt.createEmoticonsAndComments(impediment)); } private Widget createLeftColumn() { TableBuilder tb = ScrumGwt.createFieldTable(); tb.addFieldRow("Label", impediment.getLabelModel()); tb.addFieldRow("Date", new DateEditorWidget(impediment.getDateModel())); tb.addFieldRow("Description", impediment.getDescriptionModel()); tb.addFieldRow("Solution", impediment.getSolutionModel()); tb.addFieldRow("Blocked Tasks", new AFieldValueWidget() { @Override protected void onUpdate() { setContent(ScrumGwt.createToHtmlItemsWidget(impediment.getProject().getCurrentSprint() .getTasksBlockedBy(impediment))); } }); tb.addRow(new ChangeHistoryWidget(impediment), 2); return tb.createTable(); } }