Mercurial > dive4elements > river
comparison 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 |
comparison
equal
deleted
inserted
replaced
9522:23d97d60b889 | 9523:d421c2bf0195 |
---|---|
8 | 8 |
9 package org.dive4elements.river.client.client.ui.uinfo; | 9 package org.dive4elements.river.client.client.ui.uinfo; |
10 | 10 |
11 import org.dive4elements.river.client.client.ui.PanelHelper; | 11 import org.dive4elements.river.client.client.ui.PanelHelper; |
12 import org.dive4elements.river.client.shared.model.DataList; | 12 import org.dive4elements.river.client.shared.model.DataList; |
13 import org.dive4elements.river.client.shared.model.VegetationZoneServerClientXChange; | |
14 | 13 |
15 import com.google.gwt.event.dom.client.ClickEvent; | 14 import com.google.gwt.event.dom.client.ClickEvent; |
16 import com.google.gwt.event.dom.client.ClickHandler; | 15 import com.google.gwt.event.dom.client.ClickHandler; |
17 import com.google.gwt.user.client.ui.Button; | 16 import com.google.gwt.user.client.ui.Button; |
18 import com.smartgwt.client.util.SC; | 17 import com.smartgwt.client.util.SC; |
57 final Button add = new Button(this.MSG.add_date()); // TODO: make key more generic or change to more specific | 56 final Button add = new Button(this.MSG.add_date()); // TODO: make key more generic or change to more specific |
58 | 57 |
59 final DynamicForm form1 = new DynamicForm(); | 58 final DynamicForm form1 = new DynamicForm(); |
60 | 59 |
61 form1.setNumCols(4); // für Layout untereinander muss 2 eingestellt werden | 60 form1.setNumCols(4); // für Layout untereinander muss 2 eingestellt werden |
62 if (VegetationZoneServerClientXChange.HAS_COLORS_EDITABLE) | 61 form1.setFields(this.vegzone, this.start, this.end, colorPicker); |
63 form1.setFields(this.vegzone, this.start, this.end, colorPicker); | |
64 else | |
65 form1.setFields(this.vegzone, this.start, this.end); | |
66 | 62 |
67 add.addClickHandler(new ClickHandler() { | 63 add.addClickHandler(new ClickHandler() { |
68 @Override | 64 @Override |
69 public void onClick(final ClickEvent ce) { | 65 public void onClick(final ClickEvent ce) { |
70 final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString(); | |
71 final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString(); | |
72 final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString(); | |
73 | |
74 // REMARK: can't use 'ternary operator' here, becuae gwt (or java 6?) doesnt like it. | |
75 final String v4; | |
76 if (VegetationZoneServerClientXChange.HAS_COLORS_EDITABLE) | |
77 v4 = colorPicker.getValueAsString(); | |
78 else | |
79 v4 = "#ffffff"; | |
80 | |
81 final String message = validate(v1, v2, v3, v4); | |
82 if (message != null) { | |
83 SC.warn(message); | |
84 return; | |
85 } | |
86 | 66 |
87 final ListGridRecord r = new ListGridRecord(); | 67 handleAddClicked(elements, colorPicker); |
88 r.setAttribute("vegzone", v3); | |
89 r.setAttribute("from", v1); | |
90 r.setAttribute("to", v2); | |
91 r.setAttribute("color", v4); | |
92 elements.addData(r); | |
93 updateValidationMsgLabel(); | |
94 final String sortField = elements.getSortField(); | |
95 if (sortField != null) { | |
96 elements.toggleSort(sortField); | |
97 elements.toggleSort(sortField); // HACK. has to be. otherwise normalizer won't be called :-( | |
98 } | |
99 } | 68 } |
100 }); | 69 }); |
101 | 70 |
102 fields.addMember(form1); | 71 fields.addMember(form1); |
103 root.addMember(fields); | 72 root.addMember(fields); |
104 root.addMember(PanelHelper.getSpacer(10)); | 73 root.addMember(PanelHelper.getSpacer(10)); |
105 root.addMember(add); | 74 root.addMember(add); |
106 } | 75 } |
107 | 76 |
77 protected void handleAddClicked(final ListGrid elements, final ColorItem colorPicker) { | |
78 final String v1 = VegetationzonesTableEditPanel.this.start.getValueAsString(); | |
79 final String v2 = VegetationzonesTableEditPanel.this.end.getValueAsString(); | |
80 final String v3 = VegetationzonesTableEditPanel.this.vegzone.getValueAsString(); | |
81 final String v4 = colorPicker.getValueAsString(); | |
82 | |
83 final String message = validate(v1, v2, v3, v4); | |
84 if (message != null) { | |
85 SC.warn(message); | |
86 return; | |
87 } | |
88 | |
89 final ListGridRecord r = new ListGridRecord(); | |
90 r.setAttribute("vegzone", v3); | |
91 r.setAttribute("from", v1); | |
92 r.setAttribute("to", v2); | |
93 r.setAttribute("color", v4); | |
94 elements.addData(r); | |
95 updateValidationMsgLabel(); | |
96 final String sortField = elements.getSortField(); | |
97 if (sortField != null) { | |
98 elements.toggleSort(sortField); | |
99 elements.toggleSort(sortField); // HACK. has to be. otherwise normalizer won't be called :-( | |
100 } | |
101 } | |
102 | |
108 @Override | 103 @Override |
109 protected Canvas createHelper(final DataList data) { | 104 protected Canvas createHelper(final DataList data) { |
110 return null; | 105 return null; |
111 } | 106 } |
112 | |
113 } | 107 } |