package scrum.client.release;
import ilarkesto.gwt.client.ButtonWidget;
import scrum.client.common.AScrumWidget;
import scrum.client.common.BlockListSelectionManager;
import scrum.client.common.BlockListWidget;
import scrum.client.common.UserGuideWidget;
import scrum.client.workspace.PagePanel;
import com.google.gwt.user.client.ui.Widget;
public class ReleaseManagementWidget extends AScrumWidget {
public BlockListWidget<Release> planned;
public BlockListWidget<Release> published;
private BlockListSelectionManager selectionManager;
@Override
protected Widget onInitialization() {
selectionManager = new BlockListSelectionManager();
planned = new BlockListWidget<Release>(ReleaseBlock.FACTORY);
planned.setSelectionManager(selectionManager);
planned.setAutoSorter(Release.DATE_COMPARATOR);
published = new BlockListWidget<Release>(ReleaseBlock.FACTORY);
published.setSelectionManager(selectionManager);
published.setAutoSorter(Release.DATE_REVERSE_COMPARATOR);
PagePanel page = new PagePanel();
page.addHeader("Planned releases", new ButtonWidget(new CreateReleaseAction()));
page.addSection(planned);
page.addHeader("Published releases");
page.addSection(published);
page.addSection(new UserGuideWidget(getLocalizer().views().releases(),
getCurrentProject().getReleases().size() < 5, getCurrentUser().getHideUserGuideReleasesModel()));
return page;
}
@Override
protected void onUpdate() {
planned.setObjects(getCurrentProject().getPlannedReleases());
published.setObjects(getCurrentProject().getReleasedReleases());
super.onUpdate();
}
public boolean select(Release release) {
update();
return selectionManager.select(release);
}
}