Mercurial > dive4elements > river
comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/AbstractVegZonesTablePanel.java @ 9299:4a6cc7c6716a
uinfo.inundation_duration veg'zone select
author | gernotbelger |
---|---|
date | Wed, 25 Jul 2018 14:42:44 +0200 |
parents | b570b6fcc052 |
children | d89976700474 |
comparison
equal
deleted
inserted
replaced
9298:0b1a51b0c42e | 9299:4a6cc7c6716a |
---|---|
106 final ListGridField fromField = VegZonePanelHelper.createIntTableField("from", this.MSG.uinfo_vegetation_zones_from(), true, getNormalizer(), | 106 final ListGridField fromField = VegZonePanelHelper.createIntTableField("from", this.MSG.uinfo_vegetation_zones_from(), true, getNormalizer(), |
107 getValidator()); | 107 getValidator()); |
108 fromField.addCellSavedHandler(new CellSavedHandler() { | 108 fromField.addCellSavedHandler(new CellSavedHandler() { |
109 @Override | 109 @Override |
110 public void onCellSaved(final CellSavedEvent event) { | 110 public void onCellSaved(final CellSavedEvent event) { |
111 validateRangeOverlap(); | 111 updateValidationMsgLabel(); |
112 } | 112 } |
113 }); | 113 }); |
114 // war mal ne anforderung, dass sich die Werte anderer Zellen ändern, sodass keine lücken entstehen... mach das jetzt | 114 // war mal ne anforderung, dass sich die Werte anderer Zellen ändern, sodass keine lücken entstehen... mach das jetzt |
115 // aber über die Validierung. es sei denn, es soll doch wieder erwünscht sein, dass sihc die werte andere Zellen ändern | 115 // aber über die Validierung. es sei denn, es soll doch wieder erwünscht sein, dass sihc die werte andere Zellen ändern |
116 // fromField.addCellSavedHandler(new CellSavedHandler() { | 116 // fromField.addCellSavedHandler(new CellSavedHandler() { |
161 final ListGridField toField = VegZonePanelHelper.createIntTableField("to", this.MSG.uinfo_vegetation_zones_to(), false, getNormalizer(), | 161 final ListGridField toField = VegZonePanelHelper.createIntTableField("to", this.MSG.uinfo_vegetation_zones_to(), false, getNormalizer(), |
162 getValidator()); | 162 getValidator()); |
163 toField.addCellSavedHandler(new CellSavedHandler() { | 163 toField.addCellSavedHandler(new CellSavedHandler() { |
164 @Override | 164 @Override |
165 public void onCellSaved(final CellSavedEvent event) { | 165 public void onCellSaved(final CellSavedEvent event) { |
166 validateRangeOverlap(); | 166 updateValidationMsgLabel(); |
167 } | 167 } |
168 }); | 168 }); |
169 // nicht | 169 // nicht |
170 // sortierbar nach | 170 // sortierbar nach |
171 // "ÜFDauer bis" | 171 // "ÜFDauer bis" |
190 this.elements.addRecordClickHandler(new RecordClickHandler() { // adding another custom record-Remove-Handler which is not included in the | 190 this.elements.addRecordClickHandler(new RecordClickHandler() { // adding another custom record-Remove-Handler which is not included in the |
191 // Panelhelper TODO: MERGE WITH SupraRegionalPanel!! | 191 // Panelhelper TODO: MERGE WITH SupraRegionalPanel!! |
192 @Override | 192 @Override |
193 public void onRecordClick(final RecordClickEvent event) { | 193 public void onRecordClick(final RecordClickEvent event) { |
194 if (event.getField().getName().equals(removeField.getName())) { | 194 if (event.getField().getName().equals(removeField.getName())) { |
195 validateRangeOverlap(); | 195 updateValidationMsgLabel(); |
196 } | 196 } |
197 } | 197 } |
198 }); | 198 }); |
199 this.elements.setFields(vegzoneField, fromField, toField, colorField, removeField); | 199 this.elements.setFields(vegzoneField, fromField, toField, colorField, removeField); |
200 } else { | 200 } else { |
241 private final void addDataInit(final DataList data) { | 241 private final void addDataInit(final DataList data) { |
242 for (final Data dataItemContainer : data.getAll()) { | 242 for (final Data dataItemContainer : data.getAll()) { |
243 if (dataItemContainer.getItems() != null) { | 243 if (dataItemContainer.getItems() != null) { |
244 for (final DataItem dataItem : dataItemContainer.getItems()) { | 244 for (final DataItem dataItem : dataItemContainer.getItems()) { |
245 if (dataItem.getStringValue() != null) { | 245 if (dataItem.getStringValue() != null) { |
246 | 246 createTableFromDataStr(dataItem.getStringValue()); |
247 final List<VegetationZone> rows = VegetationZone.parse(dataItem.getStringValue()); | |
248 for (final VegetationZone row : rows) { | |
249 this.elements.addData(createEntry(row)); | |
250 } | |
251 } | 247 } |
252 } | 248 } |
253 } | 249 } |
250 } | |
251 } | |
252 | |
253 protected final void createTableFromDataStr(final String data) { | |
254 for (final ListGridRecord r : this.elements.getRecords()) { | |
255 this.elements.removeData(r); | |
256 } | |
257 final List<VegetationZone> rows = VegetationZone.parse(data); | |
258 for (final VegetationZone row : rows) { | |
259 this.elements.addData(createEntry(row)); | |
254 } | 260 } |
255 } | 261 } |
256 | 262 |
257 @Override | 263 @Override |
258 public final Canvas create(final DataList data) { | 264 public final Canvas create(final DataList data) { |
259 final VLayout layout = new VLayout(); | 265 final VLayout layout = new VLayout(); |
260 | 266 |
261 // TODO: Helper zur Vegetationszonen-Auswahl | 267 // TODO: Helper zur Vegetationszonen-Auswahl |
262 // final Canvas helper = createHelper(); | 268 final Canvas helper = createHelper(data); |
263 // this.helperContainer.addMember(helper); | 269 if (helper != null) |
270 this.helperContainer.addMember(helper); | |
264 | 271 |
265 final Canvas submit = getNextButton(); | 272 final Canvas submit = getNextButton(); |
266 | 273 |
267 final VLayout root = new VLayout(); | 274 final VLayout root = new VLayout(); |
268 root.setWidth(450); | 275 root.setWidth(450); |
269 createWidget(root, data); | 276 createWidget(root, data); |
270 | 277 |
271 layout.addMember(root); | 278 layout.addMember(root); |
272 layout.addMember(submit); | 279 layout.addMember(submit); |
273 | 280 |
274 validateRangeOverlap();// init Text | 281 updateValidationMsgLabel();// init Text |
275 | 282 |
276 return layout; | 283 return layout; |
277 } | 284 } |
278 | 285 |
279 @Override | 286 @Override |
349 this.records.add(r); | 356 this.records.add(r); |
350 return r; | 357 return r; |
351 | 358 |
352 } | 359 } |
353 | 360 |
354 protected String validate(final String fromInput, final String toInput, final String zoneName, final String hexColor) { | 361 protected final String validate(final String fromInput, final String toInput, final String zoneName, final String hexColor) { |
355 | 362 |
356 if (fromInput == null || toInput == null || zoneName == null || hexColor == null || fromInput.trim().isEmpty() || toInput.trim().isEmpty() | 363 if (fromInput == null || toInput == null || zoneName == null || hexColor == null || fromInput.trim().isEmpty() || toInput.trim().isEmpty() |
357 || zoneName.trim().isEmpty() || hexColor.trim().isEmpty()) | 364 || zoneName.trim().isEmpty() || hexColor.trim().isEmpty()) |
358 return this.MSG.uinfo_vegetation_zones_validation_empty(); | 365 return this.MSG.uinfo_vegetation_zones_validation_empty(); |
359 | 366 |
376 return this.MSG.error_invalid_integer(); | 383 return this.MSG.error_invalid_integer(); |
377 } | 384 } |
378 } | 385 } |
379 | 386 |
380 @Override | 387 @Override |
381 public List<String> validate() { | 388 public final List<String> validate() { |
382 final List<String> errors = new ArrayList<String>(); | 389 final List<String> errors = new ArrayList<String>(); |
383 | 390 |
384 if (VegetationZone.zonesAreOverlapping(this.getZones(this.elements.getRecords()))) | 391 if (VegetationZone.zonesAreOverlapping(this.getZones(this.elements.getRecords()))) |
385 errors.add(this.MSG.uinfo_vegetation_zone_overlap()); | 392 errors.add(this.MSG.uinfo_vegetation_zone_overlap()); |
386 if (VegetationZone.hasGaps(this.getZones(this.elements.getRecords()), 0, 365)) | 393 if (VegetationZone.hasGaps(this.getZones(this.elements.getRecords()), 0, 365)) |
387 errors.add(this.MSG.uinfo_vegetation_zone_has_gaps()); | 394 errors.add(this.MSG.uinfo_vegetation_zone_has_gaps()); |
388 return errors; | 395 return errors; |
389 } | 396 } |
390 | 397 |
391 protected final void validateRangeOverlap() { | 398 protected final void updateValidationMsgLabel() { |
392 this.validationLabel.setText(validate().toString().replace("[", "").replace("]", "").replace(",", "")); | 399 this.validationLabel.setText(validate().toString().replace("[", "").replace("]", "").replace(",", "")); |
393 } | 400 } |
401 | |
402 protected abstract Canvas createHelper(final DataList data); | |
394 } | 403 } |