diff gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java @ 9523:d421c2bf0195

Allow to edit colors in vegetation zones
author gernotbelger
date Mon, 01 Oct 2018 17:08:50 +0200
parents e2da9c8a7c57
children 8cf2968dd4f9
line wrap: on
line diff
--- a/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java	Mon Oct 01 16:37:12 2018 +0200
+++ b/gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTableEditPanel.java	Mon Oct 01 17:08:50 2018 +0200
@@ -10,7 +10,6 @@
 
 import org.dive4elements.river.client.client.ui.PanelHelper;
 import org.dive4elements.river.client.shared.model.DataList;
-import org.dive4elements.river.client.shared.model.VegetationZoneServerClientXChange;
 
 import com.google.gwt.event.dom.client.ClickEvent;
 import com.google.gwt.event.dom.client.ClickHandler;
@@ -59,43 +58,13 @@
         final DynamicForm form1 = new DynamicForm();
 
         form1.setNumCols(4); // für Layout untereinander muss 2 eingestellt werden
-        if (VegetationZoneServerClientXChange.HAS_COLORS_EDITABLE)
-            form1.setFields(this.vegzone, this.start, this.end, colorPicker);
-        else
-            form1.setFields(this.vegzone, this.start, this.end);
+        form1.setFields(this.vegzone, this.start, this.end, colorPicker);
 
         add.addClickHandler(new ClickHandler() {
             @Override
             public void onClick(final ClickEvent ce) {
-                final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString();
-                final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString();
-                final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString();
-                
-                // REMARK: can't use 'ternary operator' here, becuae gwt (or java 6?) doesnt like it.
-                final String v4;
-                if (VegetationZoneServerClientXChange.HAS_COLORS_EDITABLE)
-                    v4 = colorPicker.getValueAsString();
-                else
-                    v4 = "#ffffff";
-                
-                final String message = validate(v1, v2, v3, v4);
-                if (message != null) {
-                    SC.warn(message);
-                    return;
-                }
 
-                final ListGridRecord r = new ListGridRecord();
-                r.setAttribute("vegzone", v3);
-                r.setAttribute("from", v1);
-                r.setAttribute("to", v2);
-                r.setAttribute("color", v4);
-                elements.addData(r);
-                updateValidationMsgLabel();
-                final String sortField = elements.getSortField();
-                if (sortField != null) {
-                    elements.toggleSort(sortField);
-                    elements.toggleSort(sortField); // HACK. has to be. otherwise normalizer won't be called :-(
-                }
+                handleAddClicked(elements, colorPicker);
             }
         });
 
@@ -105,9 +74,34 @@
         root.addMember(add);
     }
 
+    protected void handleAddClicked(final ListGrid elements, final ColorItem colorPicker) {
+        final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString();
+        final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString();
+        final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString();
+        final String v4 = colorPicker.getValueAsString();
+
+        final String message = validate(v1, v2, v3, v4);
+        if (message != null) {
+            SC.warn(message);
+            return;
+        }
+
+        final ListGridRecord r = new ListGridRecord();
+        r.setAttribute("vegzone", v3);
+        r.setAttribute("from", v1);
+        r.setAttribute("to", v2);
+        r.setAttribute("color", v4);
+        elements.addData(r);
+        updateValidationMsgLabel();
+        final String sortField = elements.getSortField();
+        if (sortField != null) {
+            elements.toggleSort(sortField);
+            elements.toggleSort(sortField); // HACK. has to be. otherwise normalizer won't be called :-(
+        }
+    }
+
     @Override
     protected Canvas createHelper(final DataList data) {
         return null;
     }
-
 }
\ No newline at end of file

http://dive4elements.wald.intevation.org