Mercurial > dive4elements > river
comparison gwt-client/src/main/java/org/dive4elements/river/client/client/ui/uinfo/VegetationzonesTablePanel.java @ 9310:819dbd073624
vegZone no-overlap warning
author | gernotbelger |
---|---|
date | Thu, 26 Jul 2018 11:08:11 +0200 |
parents | 517b93254995 |
children | 8b7bf26b8782 |
comparison
equal
deleted
inserted
replaced
9309:9a9f076d5716 | 9310:819dbd073624 |
---|---|
10 | 10 |
11 import java.util.List; | 11 import java.util.List; |
12 | 12 |
13 import org.dive4elements.river.client.client.ui.DatacageWidget; | 13 import org.dive4elements.river.client.client.ui.DatacageWidget; |
14 import org.dive4elements.river.client.client.ui.DatacageWidgetData; | 14 import org.dive4elements.river.client.client.ui.DatacageWidgetData; |
15 import org.dive4elements.river.client.shared.model.ArtifactDescription; | |
15 import org.dive4elements.river.client.shared.model.DataList; | 16 import org.dive4elements.river.client.shared.model.DataList; |
16 import org.dive4elements.river.client.shared.model.User; | 17 import org.dive4elements.river.client.shared.model.User; |
17 | 18 |
18 import com.smartgwt.client.util.SC; | 19 import com.smartgwt.client.util.SC; |
19 import com.smartgwt.client.widgets.Button; | 20 import com.smartgwt.client.widgets.Button; |
25 import com.smartgwt.client.widgets.tree.TreeNode; | 26 import com.smartgwt.client.widgets.tree.TreeNode; |
26 | 27 |
27 public class VegetationzonesTablePanel extends AbstractVegZonesTablePanel { | 28 public class VegetationzonesTablePanel extends AbstractVegZonesTablePanel { |
28 | 29 |
29 private static final long serialVersionUID = 1L; | 30 private static final long serialVersionUID = 1L; |
31 | |
32 private final static Double DELTA = 0.0000001; | |
33 | |
30 private final User user; | 34 private final User user; |
35 | |
36 // private double lowerKm = 0.0; | |
37 // private double upperKm = 0.0; | |
38 // private final Double vegZoneFrom = null; | |
39 // private final Double vegZoneTo = null; | |
40 // private final Label kmOverlapLabel = new Label(); | |
41 | |
42 // TODO: in der LV steht, dass eine Warnung herausgegeben werden soll, wenn der kmBereich der ausgewählten | |
43 // Vegetationszone NICHT überlappt. | |
44 // Derzeit werden durch den XPathQuery (siehe meta-data.xml usw) solche Vegetationszonen ohnehin gefiltert (nicht | |
45 // angezeigt) - so wie es bisher überall standard ist, sodass | |
46 // die Warnfunktion obsolet ist. Sollte der AG auf die LV bestehen, müsste der Query angepasst werden und hier alles | |
47 // wieder einkommentiert werden | |
31 | 48 |
32 public VegetationzonesTablePanel(final User user) { | 49 public VegetationzonesTablePanel(final User user) { |
33 super(); | 50 super(); |
34 this.user = user; | 51 this.user = user; |
35 } | 52 } |
36 | 53 |
37 @Override | 54 @Override |
38 public void createWidget(final Layout root, final DataList data) { | 55 public void createWidget(final Layout root, final DataList data) { |
39 createTable(root, data, "420", false); | 56 createTable(root, data, "420", false); |
57 // this.kmOverlapLabel.getElement().getStyle().setColor("red"); | |
58 // root.addMember(this.kmOverlapLabel); | |
40 } | 59 } |
41 | 60 |
42 @Override | 61 @Override |
43 protected Canvas createHelper(final DataList dataList) { | 62 protected Canvas createHelper(final DataList dataList) { |
44 | 63 |
45 final DatacageWidgetData data = new DatacageWidgetData(this.artifact, this.user, "uinfo.inundation_duration.vegZoneSelect", "load-system:true", false); | 64 final DatacageWidgetData data = new DatacageWidgetData(this.artifact, this.user, "uinfo.inundation_duration.vegZoneSelect", "load-system:true", false); |
46 | 65 |
47 final DatacageWidget datacage = new DatacageWidget(data); | 66 final DatacageWidget datacage = new DatacageWidget(data); |
67 final ArtifactDescription artifact = this.artifact.getArtifactDescription(); | |
48 | 68 |
69 // for (final DataList item : artifact.getOldData()) { | |
70 // if (item.getState().equals("state.uinfo.inundationduration.distance_only")) { | |
71 // for (final Data fromTo : item.getAll()) { | |
72 // if (fromTo.getLabel().equals("ld_from")) { | |
73 // this.lowerKm = Double.valueOf(fromTo.getStringValue()); | |
74 // } else if (fromTo.getLabel().equals("ld_to")) { | |
75 // this.upperKm = Double.valueOf(fromTo.getStringValue()); | |
76 // } | |
77 // | |
78 // } | |
79 // } | |
80 // } | |
81 // final double lowerKmTmp = this.lowerKm < this.upperKm ? this.lowerKm : this.upperKm; | |
82 // this.upperKm = this.upperKm > this.lowerKm ? this.upperKm : this.lowerKm; | |
83 // this.lowerKm = lowerKmTmp; | |
49 final Button plusBtn = new Button(this.MSG.uinfo_inundation_duration_set_vegetation_zone()); | 84 final Button plusBtn = new Button(this.MSG.uinfo_inundation_duration_set_vegetation_zone()); |
50 plusBtn.setAutoFit(true); | 85 plusBtn.setAutoFit(true); |
51 plusBtn.addClickHandler(new ClickHandler() { | 86 plusBtn.addClickHandler(new ClickHandler() { |
52 @Override | 87 @Override |
53 public void onClick(final ClickEvent event) { | 88 public void onClick(final ClickEvent event) { |
55 if (selection == null || selection.isEmpty()) { | 90 if (selection == null || selection.isEmpty()) { |
56 SC.say(VegetationzonesTablePanel.this.MSG.warning()); | 91 SC.say(VegetationzonesTablePanel.this.MSG.warning()); |
57 return; | 92 return; |
58 } | 93 } |
59 final String data = selection.get(0).getAttribute("data"); | 94 final String data = selection.get(0).getAttribute("data"); |
95 // final String vegZoneFromStr = selection.get(0).getAttribute("from_km"); | |
96 // final String vegZoneToStr = selection.get(0).getAttribute("to_km"); | |
97 // if (vegZoneFromStr != null && vegZoneToStr != null) { | |
98 // VegetationzonesTablePanel.this.vegZoneFrom = Double.valueOf(vegZoneFromStr); | |
99 // VegetationzonesTablePanel.this.vegZoneTo = Double.valueOf(vegZoneToStr); | |
100 // } else { | |
101 // VegetationzonesTablePanel.this.vegZoneFrom = null; | |
102 // VegetationzonesTablePanel.this.vegZoneTo = null; | |
103 // } | |
60 createTableFromDataStr(data); | 104 createTableFromDataStr(data); |
61 updateValidationMsgLabel(); | 105 updateValidationMsgLabel(); |
106 // updateKmOverlapValidationLabel(); | |
62 } | 107 } |
63 }); | 108 }); |
64 | 109 |
65 final VLayout helperLayout = new VLayout(); | 110 final VLayout helperLayout = new VLayout(); |
66 helperLayout.addMember(datacage); | 111 helperLayout.addMember(datacage); |
67 helperLayout.addMember(plusBtn); | 112 helperLayout.addMember(plusBtn); |
68 | 113 |
69 return helperLayout; | 114 return helperLayout; |
70 } | 115 } |
116 | |
117 // private void updateKmOverlapValidationLabel() { | |
118 // this.kmOverlapLabel.setText("MÖP"); | |
119 // if (this.vegZoneFrom != null && this.vegZoneTo != null) { // standardvegetationstabelle prüfung deaktiviert, da keine | |
120 // km-range angegeben ist | |
121 // if (!(this.vegZoneFrom > this.lowerKm - DELTA && this.vegZoneFrom < this.upperKm + DELTA || // | |
122 // this.vegZoneTo > this.lowerKm - DELTA && this.vegZoneTo < this.upperKm + DELTA)) { | |
123 // | |
124 // this.kmOverlapLabel.setText("Warnung: Der Km-Bereich der gewählten Vegetationstabelle überlappt nicht mit dem hier | |
125 // angegebenen Km-Bereich."); | |
126 // } | |
127 // } | |
128 // } | |
71 } | 129 } |