diff flys-client/src/main/java/de/intevation/flys/client/client/ui/SingleLocationPanel.java @ 519:77234b1d009c

ISSUE-90 & ISSUE-40 (part II/II) Former selected values are preselected after back jumps. flys-client/trunk@1998 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Tue, 24 May 2011 16:22:34 +0000
parents be842e36ce1c
children 2e02db03e576
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/SingleLocationPanel.java	Tue May 24 11:22:05 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/SingleLocationPanel.java	Tue May 24 16:22:34 2011 +0000
@@ -3,6 +3,7 @@
 import java.util.List;
 
 import com.google.gwt.core.client.GWT;
+import com.google.gwt.i18n.client.NumberFormat;
 import com.google.gwt.user.client.rpc.AsyncCallback;
 
 import com.smartgwt.client.widgets.Canvas;
@@ -91,12 +92,12 @@
         VLayout layout = new VLayout();
         layout.setMembersMargin(10);
 
-        initDefaults(data);
-
         Label label   = new Label(MESSAGES.location ());
         Canvas widget = createWidget(data);
         Canvas submit = getNextButton();
 
+        initDefaults(data);
+
         createLocationTable();
 
         widget.setHeight(50);
@@ -179,6 +180,22 @@
      * @param list The DataList container that stores the Data objects.
      */
     protected void initDefaults(DataList list) {
+        Data data = list.get(0);
+
+        if (data == null) {
+            return;
+        }
+
+        DataItem def   = data.getDefault();
+        String   value = def.getStringValue();
+
+        try {
+            double d = Double.parseDouble(value);
+            setLocationValues(new double[] { d } );
+        }
+        catch (NumberFormatException nfe) {
+            // could not parse, dont know what to do else
+        }
     }
 
 

http://dive4elements.wald.intevation.org