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();

http://dive4elements.wald.intevation.org