package org.visico.neighborhoodpss.gwt.client; import java.util.Set; import org.visico.neighborhoodpss.gwt.shared.patterns.ProjectMediator; import org.visico.neighborhoodpss.gwt.shared.patterns.ScenarioEditMediator; import com.google.gwt.event.dom.client.ClickEvent; import com.google.gwt.event.dom.client.ClickHandler; import com.google.gwt.user.client.ui.Button; import com.google.gwt.user.client.ui.Grid; import com.google.gwt.user.client.ui.Label; import com.google.gwt.user.client.ui.ScrollPanel; public class IndicatorTable extends ScrollPanel implements ClickHandler { ProjectMediator indMed; ScenarioEditMediator scenarioMed; Grid buttonGrid = null; public IndicatorTable(ProjectMediator indMed, ScenarioEditMediator scenarioMed) { this.indMed = indMed; this.scenarioMed = scenarioMed; setSize("500px", "150px"); buttonGrid = new Grid(); //buttonGrid.setStyleName("BuildingTable"); this.add(buttonGrid); draw(); } public void draw() { buttonGrid.clear(); buttonGrid.resize(1, 1); //buttonGrid.getRowFormatter().addStyleName(0, "BuildingTableHeader"); } public Grid getButtonGrid() { return buttonGrid; } public void setButtonGrid(Grid buildingGrid) { this.buttonGrid = buildingGrid; } public void addIndicators(Set<String> indicators) { buttonGrid.clear(); buttonGrid.resize(indicators.size(), 2); int i=0; for (String ind : indicators) { buttonGrid.setText(i, 0, ind); Button calculate = new Button("Calculate"); calculate.setTitle(ind); calculate.addClickHandler(this); buttonGrid.setWidget(i, 1, calculate); i++; } } @Override public void onClick(ClickEvent event) { if (event.getSource() instanceof Button) { Button btn = (Button) event.getSource(); scenarioMed.calculateIndicator(btn.getTitle()); } } }