Mercurial > dive4elements > river
diff flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java @ 783:8ebaad41285b
#159 Added listeners to the locations and distances tables of the kilometer range panel to set the from/to fields.
flys-client/trunk@2274 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author | Ingo Weinzierl <ingo.weinzierl@intevation.de> |
---|---|
date | Fri, 01 Jul 2011 09:11:39 +0000 |
parents | 4a7ece57f44c |
children | 3fa64c796ffc |
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java Fri Jul 01 08:44:24 2011 +0000 +++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/DistancePanel.java Fri Jul 01 09:11:39 2011 +0000 @@ -6,10 +6,14 @@ import com.google.gwt.core.client.GWT; import com.google.gwt.i18n.client.NumberFormat; +import com.smartgwt.client.data.Record; +import com.smartgwt.client.util.SC; import com.smartgwt.client.widgets.Canvas; import com.smartgwt.client.widgets.Label; import com.smartgwt.client.widgets.form.fields.events.BlurHandler; import com.smartgwt.client.widgets.form.fields.events.BlurEvent; +import com.smartgwt.client.widgets.grid.events.RecordClickHandler; +import com.smartgwt.client.widgets.grid.events.RecordClickEvent; import com.smartgwt.client.widgets.layout.HLayout; import com.smartgwt.client.widgets.layout.VLayout; import com.smartgwt.client.widgets.tab.TabSet; @@ -310,6 +314,46 @@ locationsTable.setDataSource(new DistanceInfoDataSource( url, river, "locations")); + distancesTable.addRecordClickHandler(new RecordClickHandler() { + public void onRecordClick(RecordClickEvent e) { + Record r = e.getRecord(); + + String from = r.getAttribute("from"); + String to = r.getAttribute("to"); + + try { + distancePanel.setFrom(Double.valueOf(from)); + distancePanel.setTo(Double.valueOf(to)); + } + catch (NumberFormatException nfe) { + SC.warn(MSG.wrongFormat()); + } + } + }); + + locationsTable.addRecordClickHandler(new RecordClickHandler() { + public void onRecordClick(RecordClickEvent e) { + Record r = e.getRecord(); + int field = e.getFieldNum(); + + try { + String value = r.getAttribute("from"); + + switch (field) { + case 0: + distancePanel.setFrom(Double.valueOf(value)); + break; + case 1: + distancePanel.setTo(Double.valueOf(value)); + break; + } + } + catch (NumberFormatException nfe) { + SC.warn(MSG.wrongFormat()); + } + } + }); + tabs = new TabSet(); tabs.setWidth100(); tabs.setHeight100();