package scrum.client.sprint; import ilarkesto.gwt.client.ButtonWidget; import ilarkesto.gwt.client.TableBuilder; import ilarkesto.gwt.client.editor.RichtextEditorWidget; import scrum.client.ScrumGwt; import scrum.client.collaboration.CommentsWidget; import scrum.client.common.AScrumWidget; import scrum.client.common.UserGuideWidget; import scrum.client.project.Project; import scrum.client.workspace.PagePanel; import com.google.gwt.user.client.ui.Widget; public class NextSprintWidget extends AScrumWidget { private Sprint sprint; @Override protected Widget onInitialization() { sprint = getSprint(); TableBuilder tb = ScrumGwt.createFieldTable(); tb.setColumnWidths("15%", "15%", "15%", "15%", "15%", "15%"); tb.addFieldRow("Label", sprint.getLabelModel(), 5); tb.addFieldRow("Goal", sprint.getGoalModel(), 5); tb.addField("Begin", sprint.getBeginModel()); tb.addFieldRow("Length", sprint.getLengthInDaysModel()); tb.addFieldRow("End", sprint.getEndModel()); tb.addFieldRow("Planning Note", new RichtextEditorWidget(sprint.getPlanningNoteModel()), 5); PagePanel page = new PagePanel(); page.addHeader("Next Sprint", new ButtonWidget(new SwitchToNextSprintAction())); page.addSection(TableBuilder.row(20, tb.createTable(), new CommentsWidget(sprint))); page.addSection(new UserGuideWidget(getLocalizer().views().nextSprint(), getCurrentProject().getSprints() .size() < 5, getCurrentUser().getHideUserGuideNextSprintModel())); return page; } @Override protected boolean isResetRequired() { return sprint != getSprint(); } private Sprint getSprint() { Project project = getCurrentProject(); if (project == null) return null; return project.getNextSprint(); } }