package scrum.client.dashboard; import ilarkesto.core.scope.Scope; import ilarkesto.gwt.client.HyperlinkWidget; import ilarkesto.gwt.client.SwitchingNavigatorWidget; import ilarkesto.gwt.client.TableBuilder; import scrum.client.common.AScrumWidget; import scrum.client.workspace.PagePanel; import scrum.client.workspace.ProjectWorkspaceWidgets; import com.google.gwt.user.client.ui.Widget; public class DashboardWidget extends AScrumWidget { @Override protected Widget onInitialization() { ProjectWorkspaceWidgets widgets = Scope.get().getComponent(ProjectWorkspaceWidgets.class); SwitchingNavigatorWidget nav = widgets.getSidebar().getNavigator(); PagePanel sprintBurndown = new PagePanel(); sprintBurndown.addHeader("Sprint Burndown", new HyperlinkWidget(nav.createSwitchAction(widgets.getSprintBacklog()))); sprintBurndown.addSection(new SprintBurndownWidget()); PagePanel teamsTasks = new PagePanel(); teamsTasks.addHeader("Teams work", new HyperlinkWidget(nav.createSwitchAction(widgets.getWhiteboard())), new HyperlinkWidget(nav.createSwitchAction(widgets.getIssueList()))); teamsTasks.addSection(TableBuilder.row(10, new TeamTasksWidget(), new UpcomingTeamTasksWidget())); PagePanel posTasks = new PagePanel(); posTasks.addHeader("Product Owners work", new HyperlinkWidget(nav.createSwitchAction(widgets.getProductBacklog())), new HyperlinkWidget(nav.createSwitchAction(widgets.getSprintBacklog())), new HyperlinkWidget(nav.createSwitchAction(widgets.getIssueList()))); posTasks.addSection(new UpcomingPoTasksWidget()); PagePanel impediments = new PagePanel(); impediments.addHeader("Open Impediments", new HyperlinkWidget(nav.createSwitchAction(widgets.getImpedimentList()))); impediments.addSection(new OpenImpedimentsWidget()); PagePanel risks = new PagePanel(); risks.addHeader("High Priority Risks", new HyperlinkWidget(nav.createSwitchAction(widgets.getRiskList()))); risks.addSection(new HighestRisksWidget()); PagePanel events = new PagePanel(); events.addHeader("Latest Events", new HyperlinkWidget(nav.createSwitchAction(widgets.getProjectEventList()))); events.addSection(new LatestEventsWidget()); Widget left = TableBuilder.column(5, sprintBurndown, teamsTasks, posTasks); Widget right = TableBuilder.column(5, impediments, risks, events); return TableBuilder.row(5, left, right); } }