comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/AbstractVegZonesTablePanel.java @ 9403:e2da9c8a7c57

VegetationZone umbenennen
author gernotbelger
date Wed, 15 Aug 2018 13:22:00 +0200
parents d89976700474
children d421c2bf0195
comparison
equal deleted inserted replaced
9402:e511eb935ccd 9403:e2da9c8a7c57
18 import org.dive4elements.river.client.shared.model.Data; 18 import org.dive4elements.river.client.shared.model.Data;
19 import org.dive4elements.river.client.shared.model.DataItem; 19 import org.dive4elements.river.client.shared.model.DataItem;
20 import org.dive4elements.river.client.shared.model.DataList; 20 import org.dive4elements.river.client.shared.model.DataList;
21 import org.dive4elements.river.client.shared.model.DefaultData; 21 import org.dive4elements.river.client.shared.model.DefaultData;
22 import org.dive4elements.river.client.shared.model.DefaultDataItem; 22 import org.dive4elements.river.client.shared.model.DefaultDataItem;
23 import org.dive4elements.river.client.shared.model.VegetationZone; 23 import org.dive4elements.river.client.shared.model.VegetationZoneServerClientXChange;
24 24
25 import com.google.gwt.core.client.GWT; 25 import com.google.gwt.core.client.GWT;
26 import com.google.gwt.user.client.ui.Label; 26 import com.google.gwt.user.client.ui.Label;
27 import com.smartgwt.client.data.Record; 27 import com.smartgwt.client.data.Record;
28 import com.smartgwt.client.types.Alignment; 28 import com.smartgwt.client.types.Alignment;
170 // sortierbar nach 170 // sortierbar nach
171 // "ÜFDauer bis" 171 // "ÜFDauer bis"
172 toField.setCanEdit(true);// neue Anforderung - doch nicht? 172 toField.setCanEdit(true);// neue Anforderung - doch nicht?
173 173
174 final ListGridField colorField = new ListGridField("color", this.MSG.uinfo_vegetation_zone_color()); 174 final ListGridField colorField = new ListGridField("color", this.MSG.uinfo_vegetation_zone_color());
175 colorField.setHidden(VegetationZone.HAS_COLORS_EDITABLE ? false : true); 175 colorField.setHidden(VegetationZoneServerClientXChange.HAS_COLORS_EDITABLE ? false : true);
176 final ColorItem item = new ColorItem(); 176 final ColorItem item = new ColorItem();
177 colorField.setEditorProperties(item); 177 colorField.setEditorProperties(item);
178 178
179 colorField.setWidth(80); // 25 too small 179 colorField.setWidth(80); // 25 too small
180 colorField.setAlign(Alignment.LEFT); 180 colorField.setAlign(Alignment.LEFT);
250 250
251 protected final void createTableFromDataStr(final String data) { 251 protected final void createTableFromDataStr(final String data) {
252 for (final ListGridRecord r : this.elements.getRecords()) { 252 for (final ListGridRecord r : this.elements.getRecords()) {
253 this.elements.removeData(r); 253 this.elements.removeData(r);
254 } 254 }
255 final List<VegetationZone> rows = VegetationZone.parse(data); 255 final List<VegetationZoneServerClientXChange> rows = VegetationZoneServerClientXChange.parse(data);
256 for (final VegetationZone row : rows) { 256 for (final VegetationZoneServerClientXChange row : rows) {
257 this.elements.addData(createEntry(row)); 257 this.elements.addData(createEntry(row));
258 } 258 }
259 } 259 }
260 260
261 @Override 261 @Override
293 293
294 final List<Data> items = dataList.getAll(); 294 final List<Data> items = dataList.getAll();
295 final Data str = getData(items, datakey); 295 final Data str = getData(items, datakey);
296 final DataItem[] strItems = str.getItems(); 296 final DataItem[] strItems = str.getItems();
297 297
298 final List<VegetationZone> entries = VegetationZone.parse(strItems[0].getLabel()); 298 final List<VegetationZoneServerClientXChange> entries = VegetationZoneServerClientXChange.parse(strItems[0].getLabel());
299 299
300 for (final VegetationZone entry : entries) { 300 for (final VegetationZoneServerClientXChange entry : entries) {
301 final Label dateLabel = new Label(entry.getZoneName() + " (" + entry.getMin_day_overflow() + "-" + entry.getMax_day_overflow() + ")"); 301 final Label dateLabel = new Label(entry.getZoneName() + " (" + entry.getMin_day_overflow() + "-" + entry.getMax_day_overflow() + ")");
302 dateLabel.setHeight("20px"); 302 dateLabel.setHeight("20px");
303 vLayout.addMember(dateLabel); 303 vLayout.addMember(dateLabel);
304 } 304 }
305 final Canvas back = getBackButton(dataList.getState()); 305 final Canvas back = getBackButton(dataList.getState());
317 final ListGridRecord[] lgr = this.elements.getRecords(); 317 final ListGridRecord[] lgr = this.elements.getRecords();
318 if (lgr.length == 0) { 318 if (lgr.length == 0) {
319 return new Data[0]; // TODO: Klären, ob Vegetationszonen-Auswahl Pflicht ist, ob es ein Fallback geben soll usw. 319 return new Data[0]; // TODO: Klären, ob Vegetationszonen-Auswahl Pflicht ist, ob es ein Fallback geben soll usw.
320 } 320 }
321 321
322 final DataItem item = new DefaultDataItem(datakey, null, VegetationZone.parseListToDataString(getZones(lgr))); // DATA-key 322 final DataItem item = new DefaultDataItem(datakey, null, VegetationZoneServerClientXChange.parseListToDataString(getZones(lgr))); // DATA-key
323 data.add(new DefaultData(datakey, null, null, new DataItem[] { item })); 323 data.add(new DefaultData(datakey, null, null, new DataItem[] { item }));
324 return data.toArray(new Data[data.size()]); 324 return data.toArray(new Data[data.size()]);
325 } 325 }
326 326
327 protected final List<VegetationZone> getZones(final ListGridRecord[] lgr) { 327 protected final List<VegetationZoneServerClientXChange> getZones(final ListGridRecord[] lgr) {
328 final List<VegetationZone> zoneList = new ArrayList<VegetationZone>(); 328 final List<VegetationZoneServerClientXChange> zoneList = new ArrayList<VegetationZoneServerClientXChange>();
329 for (final ListGridRecord element : lgr) { 329 for (final ListGridRecord element : lgr) {
330 final Record r = element; 330 final Record r = element;
331 final VegetationZone zone = VegetationZone.createFromTableEntry(r.getAttribute("vegzone"), r.getAttribute("from"), r.getAttribute("to"), 331 final VegetationZoneServerClientXChange zone = VegetationZoneServerClientXChange.createFromTableEntry(r.getAttribute("vegzone"), r.getAttribute("from"), r.getAttribute("to"),
332 r.getAttribute("color")); 332 r.getAttribute("color"));
333 zoneList.add(zone); 333 zoneList.add(zone);
334 } 334 }
335 return zoneList; 335 return zoneList;
336 } 336 }
337 337
338 public final ListGridRecord createEntry(final VegetationZone row) { 338 public final ListGridRecord createEntry(final VegetationZoneServerClientXChange row) {
339 339
340 final String vegzone = row.getZoneName(); 340 final String vegzone = row.getZoneName();
341 final Integer from = row.getMin_day_overflow(); 341 final Integer from = row.getMin_day_overflow();
342 final Integer to = row.getMax_day_overflow(); 342 final Integer to = row.getMax_day_overflow();
343 final String colorStr = row.getHexColor(); 343 final String colorStr = row.getHexColor();
384 384
385 @Override 385 @Override
386 public final List<String> validate() { 386 public final List<String> validate() {
387 final List<String> errors = new ArrayList<String>(); 387 final List<String> errors = new ArrayList<String>();
388 388
389 if (VegetationZone.zonesAreOverlapping(this.getZones(this.elements.getRecords()))) 389 if (VegetationZoneServerClientXChange.zonesAreOverlapping(this.getZones(this.elements.getRecords())))
390 errors.add(this.MSG.uinfo_vegetation_zone_overlap()); 390 errors.add(this.MSG.uinfo_vegetation_zone_overlap());
391 if (VegetationZone.hasGaps(this.getZones(this.elements.getRecords()), 0, 365)) 391 if (VegetationZoneServerClientXChange.hasGaps(this.getZones(this.elements.getRecords()), 0, 365))
392 errors.add(this.MSG.uinfo_vegetation_zone_has_gaps()); 392 errors.add(this.MSG.uinfo_vegetation_zone_has_gaps());
393 return errors; 393 return errors;
394 } 394 }
395 395
396 protected final void updateValidationMsgLabel() { 396 protected final void updateValidationMsgLabel() {

http://dive4elements.wald.intevation.org