diff flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java @ 45:f99c5f8e4672

Some GUI improvements in the Location/Distance, W/Q and Module panels. flys-client/trunk@1490 c6561f87-3c4e-4783-a992-168aeb5c3f6f
author Ingo Weinzierl <ingo.weinzierl@intevation.de>
date Thu, 17 Mar 2011 09:54:05 +0000
parents 6bcd8e3f21a7
children 0d4795b4f284
line wrap: on
line diff
--- a/flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java	Thu Mar 17 09:29:10 2011 +0000
+++ b/flys-client/src/main/java/de/intevation/flys/client/client/ui/LocationDistancePanel.java	Thu Mar 17 09:54:05 2011 +0000
@@ -8,6 +8,7 @@
 
 import com.smartgwt.client.types.TitleOrientation;
 import com.smartgwt.client.widgets.Canvas;
+import com.smartgwt.client.widgets.IButton;
 import com.smartgwt.client.widgets.Label;
 import com.smartgwt.client.widgets.form.DynamicForm;
 import com.smartgwt.client.widgets.form.fields.events.BlurHandler;
@@ -93,13 +94,32 @@
     public Canvas create(Data data) {
         VLayout layout = new VLayout();
 
-        Label label          = new Label(MESSAGES.location_distance_state());
-        container            = new HLayout();
-        Canvas checkboxPanel = createRadioButtonPanel();
+        Label label    = new Label(MESSAGES.location_distance_state());
+        Canvas widget  = createWidget(data);
+        IButton submit = new IButton(MESSAGES.next(), this);
 
         label.setHeight(25);
 
         layout.addMember(label);
+        layout.addMember(widget);
+        layout.addMember(submit);
+
+        return layout;
+    }
+
+
+    protected Canvas createWidget(Data data) {
+        VLayout layout       = new VLayout();
+        container            = new HLayout();
+        Canvas checkboxPanel = createRadioButtonPanel();
+
+        // the initial view will display the location input mode
+        Canvas locationPanel = new DoubleArrayPanel(
+                MESSAGES.unitLocation(),
+                getLocationValues(),
+                this);
+        container.addMember(locationPanel);
+
         layout.addMember(checkboxPanel);
         layout.addMember(container);
 
@@ -205,10 +225,14 @@
         values.put(FIELD_LOCATION, MESSAGES.location());
         values.put(FIELD_DISTANCE, MESSAGES.distance());
 
+        LinkedHashMap initial = new LinkedHashMap();
+        initial.put("mode", FIELD_LOCATION);
+
         radio.setValueMap(values);
         radio.addChangeHandler(this);
 
         mode.setFields(radio);
+        mode.setValues(initial);
 
         return mode;
     }

http://dive4elements.wald.intevation.org